Scala actor比Jetlang和Groovy++消息传递都慢?
来源:互联网 发布:mac有必要贴膜吗 编辑:程序博客网 时间:2024/05/05 05:42
Alex Tkachman用一个测试基准比较Scala actor、Jetlang和Groovy++消息传递的性能差异,并解释了Scala actor比较慢的原因。
该基准用来测量消息发送和接收的的平均速度。我们选择了众所周知的线程环测试基准的一个变体
- 有10000个actors,0..9999
- 当object接收一个消息后将其转发给下一个object
- 测试一开始,向头500个对象发送字符串“Hi”
总共大概有接近50M的消息被发送和接收,我们记录下来整个过程的时间
测试结果如下:
Benchmarking results (milliseconds, smaller number the better) 2155 - Jetlang 1682 - Groovy++ 47911 - Scala //这是原始数据,根据评论中建议修改之后,数据可达5221ms //但仍比groovy++显慢,Alex说还会就此话题贴文。
Alex认为造成这一结果的原因是Scala模仿了Erlang的行为,而没有使用更适合JVM的消息传递模型。而Groovy++的实现方式与Jetlang基本一样,主要区别是groovy++选择不区分fiber(消息消费者)和message channel(消息发布地),从而内部可以使用一些简单的数据结构。还有就是Groovy++还不支持Jetlang所支持的一些特性,那些特性对效率多少也会有影响。
0 0
- Scala actor比Jetlang和Groovy++消息传递都慢?
- scala进阶21-actor之消息传递
- scala并发编程原生线程Actor、Case Class下的消息传递和偏函数实战
- 第68讲 scala并发编程原生线程actor、class class 下的消息传递和偏函数
- java actor模型和消息传递实现分析
- java actor模型和消息传递简单示例
- Kilim:actor模型和消息传递的Java实现
- java actor模型和消息传递实现分析
- 68.Scala并发编程原生线程Actor、Cass Class下的消息传递和偏函数实战解析及其在Spark中的应用源码解析
- Scala深入浅出进阶经典 第68讲:Scala并发编程原生线程Actor、Cass Class下的消息传递和偏函数实战解析及其在Spark中的应用源码解析
- 67.Scala并发编程匿名Actor、消息传递、偏函数实战解析及其在Spark源码中的应用解析
- Akka学习笔记:Actor消息传递(1)
- Akka学习笔记:Actor消息传递(2)
- Scala深入浅出进阶经典第67讲:Scala并发编程匿名Actor、消息传递、偏函数实战解析及其在Spark源码中的应用解析
- scala actor
- scala Actor
- Scala actor
- 第68讲:Scala并发编程原生线程Actor、Cass Class下的消息传递和偏函数实战解析及其在Spark中的应用源码解析学习笔记
- 1053. Path of Equal Weight (30)
- Redis之七种武器
- Spring+Quartz实现定时任务的配置方法
- google,翻译英文网站
- java中常用的字符串的截取方法
- Scala actor比Jetlang和Groovy++消息传递都慢?
- maven systempath 打包不进去
- Learning ROS for Robotics Programming Second Edition学习笔记(四) indigo devices
- 使用Forms Authentication实现用户注册、登录
- java解析Excel表
- Linux替换自带的替换OpenJDK
- ArcGIS教程:路径距离 (空间分析)
- Android+Service+thread.sleep()
- Unity3d中的属性(Attributes)整理