互联网
类型
可以朗读
语音朗读
217千字
字数
2017-05-01
发行日期
展开全部
主编推荐语
本书为你武装创建高性能Scala应用所需的知识,从如何定义性能这样的基础知识开始,探索Scala语言特性及函数式编程技术,同时在所有主题上都密切关注着性能。
内容简介
Scala是一种表达能力非常强的语言,能够用非常简洁的代码表达丰富的业务含义。为了在生产上充分发挥Scala的能力,除了掌握其简洁的语法外,理解Scala在性能上的特点和优化点也是非常重要的事。
本书通过解析一个金融领域高频交易的实际例子,引领读者掌握如何对Scala程序(以及一般JVM程序)进行基准测试和性能分析,从而找出瓶颈。
随后作者介绍了Scala语言、Scala标准库(尤其是集合库)以及Scalaz库里解决相应瓶颈的各种技巧。并行计算和分布式架构作为性能调优的重要手段,更是本书的重中之重,作者对Scala的并行计算和分布式架构中存在的问题都进行了充分的讨论和讲解,非常值得学习。
本书适合已经具有Scala编程基础、能够较好地使用Scala风格代码实现业务功能的程序员,作为在性能优化方面的深造阅读资料。
目录
- 版权信息
- 内容简介
- 关于作者
- 关于审阅者
- 前言
- 1 高性能之路
- 性能的定义
- 高性能软件
- 硬件资源
- 时延和吞吐率
- 瓶颈
- 性能总结
- 平均数的问题
- 百分位数来救场
- 指标搜集
- 用基准数据(benchmark)来衡量性能
- 通过Profiling来定位瓶颈
- 结合基准测试和profiling
- 案例分析
- 工具链
- 小结
- 2 在JVM上度量性能
- 金融领域一瞥
- 意外的市场波动毁掉了利润
- 重现故障
- 吞吐量基准测试
- 时延基准测试
- 定位瓶颈
- 微基准取得大进步
- 小结
- 3 释放Scala的性能
- 值类
- 字节码表示
- 性能考虑
- 标记类型——值类的一种替代品
- 专门化
- 字节码表示
- 性能考虑
- 元组
- 字节码表示
- 性能考虑
- 模式匹配
- 字节码表示
- 性能考虑
- 尾递归
- 字节码表示
- 性能考虑
- Option数据类型
- 字节码表示
- 性能考虑
- 案例研究——性能更高的Option
- 小结
- 4 探索集合API
- 高吞吐量系统-改进指令簿
- 理解过去实现上的折中-list实现
- 当前的指令簿-queue实现
- 通过惰性计算来提升取消操作的性能
- 历史数据分析
- 滞后时序收益率(lagged time series returns)
- 处理多个收益率序列
- 小结
- 5 惰性集合及事件溯源
- 提升用户报表生成速度
- 深入报表生成代码
- 使用视图提速报表生成
- 视图的注意事项
- 打包报表生成结果
- 重新思考报表架构
- Stream概览
- 事件变换
- 构建事件源管道
- 马尔可夫流式链
- 流的注意事项
- 小结
- 6 Scala的并发
- 并行回测(backtesting)策略
- 探索Future
- Future和crazy ideas
- Future使用时的考量
- 提交执行妨碍性能
- 处理阻塞调用和回调
- ExecutionContext和阻塞调用
- 用Promise转化回调
- 受命进一步提升回测性能
- 介绍Scalaz Task
- 用Task为交易日模拟建模
- 总结回测
- 小结
- 7 高性能架构
- 分布式自动化交易员(Distributed automated traders)
- 分布式架构概述
- 第一次尝试分布式自动化交易系统
- 引入CRDT
- CRDT和自动化交易系统
- 当余额不足时
- 免费交易策略性能提升
- 为交易策略做基准测试
- 无界队列(unbounded queue)的危险
- 应用背压(back pressure)
- 应用负载控制策略
- Free monad
- 小结
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。