看到yufeng转一德国人的帖子比较erlang +native编译的运算能力和C语言-O0(不优化)对比。遂亲自动手实验一下。结果如下:
代码:
https://github.com/hmisty/coding/blob/master/erlang/cpu_intensive.erl
https://github.com/hmisty/coding/blob/master/erlang/cpu_intensive.c
https://github.com/hmisty/coding/blob/master/erlang/Makefile
环境 EC2 micro instance
Fib erlang native code
8.17user 0.52system 0:08.56elapsed 101%CPU (0avgtext+0avgdata 30112maxresident)k
0inputs+0outputs (0major+3229minor)pagefaults 0swaps
Fib erlang normal code
195.52user 1.63system 3:19.14elapsed 98%CPU (0avgtext+0avgdata 29920maxresident)k
0inputs+0outputs (0major+3204minor)pagefaults 0swaps
Fib C w/out optimization
9.38user 0.00system 0:09.39elapsed 99%CPU (0avgtext+0avgdata 1456maxresident)k
0inputs+0outputs (0major+125minor)pagefaults 0swaps
Fib C w/ O2 optimization
5.02user 0.00system 0:05.02elapsed 99%CPU (0avgtext+0avgdata 1472maxresident)k
0inputs+0outputs (0major+125minor)pagefaults 0swaps
Fib C w/ O3 optimization
2.01user 0.00system 0:02.00elapsed 100%CPU (0avgtext+0avgdata 1472maxresident)k
0inputs+0outputs (0major+125minor)pagefaults 0swaps
结论:
erlang用+native开关编译确实效率足以与C语言-O0的运算效率媲美。
是不是erlang Map/Reduce直接用erlang写运算体也差不多啊?哈哈。
分享到:
相关推荐
linux CentOs7 下安装RabbitMq所需文件 rabbitmq-server-3.10.0-1+erlang-23.3.4.11+socat-1.7.3.2 亲自测试 可以使用
压缩包包含ERLang+RabbitMQ安装包,解压直接安装即可。
RabbitMQ-server-3.8.9安装包+erlang23.1.1依赖安装包+socat--erlang的内存管理直接执行yum install socat即可
erlang -c语言程序接口.pdferlang -c语言程序接erlang -c语言程序接口.pdf口.pdf
notepad++上erlang的语法着色文件
linux CentOs7 下安装RabbitMq所需文件 rabbitmq-server-3.8.9-1+erlang-23.1.1+socat-1.7.3.2 亲自测试 可以使用
centos6.5 安装rabbitmq 需要的软件otp_src_20.0.tar.gz+rabbitmq-server-generic-unix-3.6.1
erlang+rabbit.rar
RabbitMQ+Erlang+RabbitMq延时队列插件
rabbitMq+erlang+延时队列插件完整安装包(正确的版本对应)
Erlang 22.0 +RabbitMQ3.7.16集成软件包,方便RabbitMQ快速安装。
rabbitmq-server-3.8.5-1.el7.noarch.rpm and esl-erlang_23.0.2-1_centos_7_amd64.rpm
erlang-asn1-19.3.6.4-1.el7.x86_64.rpm
playing with Scala, Clojure, and Erlang. Immutability was the norm here. However, I wondered how traditional algorithms would look in a functional setting and started learning about it. A data ...
具体版本是:otp_win32_R16B03.exe和rabbitmq-server-3.6.14.exe,没有分的童鞋可以自行从erlang、rabbitMQ官网下载对应版本
rabbit+Erlang 工具
RabbitMQ安装包和erlang的环境安装 版本是3.7.8,测试可用
Erlang和RabbitMQ适配版
erlang 23.1.1 rabbitmq 3.8.9 socat 1.7.3.2 rabbitmq安装包rpm格式 ,版本完全匹配 离线安装必需品使用rpm 命令直接安装
亲测兼容可用的版本,遇到版本冲突不兼容的时候,是不是很难受?博主为你们踩坑,将可用版本一并打包,有需要可以下载哦