R13 推出
感到动力澎湃了么?啥也不说了,官方消息转载如下:
Erlang/OTP R13A has been released. This is a beta-release in the sense that it is not recommended for use in live products. The R13B release (recommended for use in live products) is planned for April 29. We encourage that you try out this release and give us feedback on errors you may find so we can correct this until the R13B release. Some highlights in this release are:
* Significant improvements of SMP and multi-core performance mainly because of multiple run-queues but also a number of other optimizations.
* Support for Unicode is implemented as described in EEP10.
* New application WxErlang, A binding to the WxWidgets GUI library. In beta status but the intention is that is shall replace GS in a later stage.
* New application RelTools a release management tool with a graphical frontend for interactive customization of a target system. Still a bit limited and should be regarded as experimental in this release.
* Read the complete list of bug fixes and new functions in the readme file.Download the new release from the download page.
以及:
The next major version of Erlang, R13, has been released in beta form.
The release contains a whole host of bug fixes and goodies. Here are the ones which grabbed my attention:
* OTP-7648: Support for Unicode. This. is. huge. I have been waiting for this since R11.
* OTP-7805: Halle-freakin’-luah! A graphical tool for creating releases. Maybe I won’t have to kill kittens every time I build a release.
* OTP-7500: Replacement of the global run queue with multiple per-scheduler run queues. This should help quite a bit with run queue contention in Erlang systems with boatloads of processes. Ulf Wiger wrote about the problem in some detail but I can’t find a link to it.
* OTP-7777: Scheduler threads can be bound to logical processors. Should give a nice performance boost on supported platforms.
* OTP-7748: Fixed andalso and orelse to be tail recursive-friendly. This has caught me out on at least one occasion.
* OTP-7826: Nodes belonging to different clusters can run on the same host. Should simplify deployments a bit.
* OTP-7864: Opaque datatypes for common structures like arrays, dicts, and sets. No more unhygenic poking about in their guts.All in all, R13A has some extremely cool stuff in it. I can hardly wait for R13B.
哈哈,啥也不说了..等!
板凳党来了。。。。
一大坨特性阿,有空一定要玩玩
erlang FFI EEP 7 貌似不在R13A里边啊,难道说这块儿又出了漏子了?
根据我在ecug上做的实验:8核心的cpu
[spawn(ring, run,[["100", "10000000000"]]) || _X | 3
3 2 20.9 61.7 0.0 17.4|UUUUUUUUUUssssssssssssssssssssssssssssss > | 3
3 3 19.9 63.2 0.0 16.9|UUUUUUUUUsssssssssssssssssssssssssssssss > 3
3 4 18.9 64.2 0.0 16.9|UUUUUUUUUssssssssssssssssssssssssssssssss > 3
3 5 19.9 62.7 0.0 17.4|UUUUUUUUUsssssssssssssssssssssssssssssss > 3
3 6 20.9 63.2 0.0 15.9|UUUUUUUUUUsssssssssssssssssssssssssssssss > 3
3 7 19.4 62.7 0.0 17.9|UUUUUUUUUsssssssssssssssssssssssssssssss > | 3
3 8 19.4 63.7 0.0 16.9
R13A:
CPU User% Sys% Wait% Idle|0 |25 |50 |75 100| 3
3 1 61.2 31.8 0.0 7.0|UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUsssssssssssssss > | 3
3 2 64.7 29.9 0.0 5.5|UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUssssssssssssss > | 3
3 3 62.7 29.9 0.0 7.5|UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUssssssssssssss > | 3
3 4 61.0 32.5 0.0 6.5|UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUssssssssssssssss > | 3
3 5 62.5 30.5 0.0 7.0|UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUsssssssssssssss > | 3
3 6 64.2 29.4 0.0 6.5|UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUssssssssssssss >| 3
3 7 63.7 29.9 0.0 6.5|UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUssssssssssssss > | 3
3 8 65.7 27.9 0.0 6.5|UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUsssssssssssss > | 3
3 +————————————————-+ 3
3Avg 63.2 30.2 0.0 6.5
sys的调用主要是futex 所有对锁的依赖大量减少!
速度提高了将近2倍 效果真的很好yeah!