< :前の番号
^ :番号順リスト
> :次の番号
P :前の記事(スレッド移動)
N :次の記事(スレッド移動)
|<:前のスレッド
>|:次のスレッド
^ :返事先
_:自分への返事
>:同じ返事先を持つ記事(前)
<:同じ返事先を持つ記事(後)
---:分割してスレッド表示、再表示
| :分割して(縦)スレッド表示、再表示
~ :スレッドのフレーム消去
.:インデックス
..:インデックスのインデックス
Issue #10212 has been updated by ko1 (Koichi Sasada).
One more:
```
target 0: ruby250 (ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]) at "~/ruby/install/v2_5_0/bin/ruby"
target 1: trunk (ruby 2.6.0dev (2018-02-21 trunk 62512) [x86_64-linux]) at "~/ruby/install/trunk/bin/ruby"
target 2: mruby (mruby 1.4.0 (2018-1-16)
target 3: jruby (jruby 9.1.15.0 (2.3.3) 2017-12-07 929fde8 OpenJDK 64-Bit Server VM 9-internal+0-2016-04-14-195246.buildd.src on 9-internal+0-2016-04-14-19
...
name ruby250 trunk mruby jruby
app_lc_fizzbuzz 28.601 20.069 28.885 15.421
Speedup ratio: compare with the result of `ruby250' (greater is better)
name trunk mruby jruby
app_lc_fizzbuzz 1.425 0.990 1.855
```
JRuby is fastest.
----------------------------------------
Bug #10212: MRI is not for lambda calculus
https://bugs.ruby-lang.org/issues/10212#change-70534
* Author: ko1 (Koichi Sasada)
* Status: Closed
* Priority: Normal
* Assignee: ko1 (Koichi Sasada)
* Target version:
* ruby -v: ruby 2.2.0dev (2014-08-21 trunk 47241) [x86_64-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
# title is joke.
I added benchmark/bm_lc_fizzbuzz.rb which solve fizz buzz program by lambda calculus.
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=47447
(This program is closly described by ["Understanding Computation"] (http://computationbook.com/) by Tom Stuart)
([Japanese translation of this book] (http://www.oreilly.co.jp/books/9784873116976/) will be published soon)
The results of this program are:
```
jruby 1.7.12 (1.9.3p392) 2014-04-15 643e292 on OpenJDK 64-Bit Server VM 1.7.0_65-b32 [linux-amd64]
real 0m26.648s
user 0m30.091s
sys 0m4.369s
mruby 89e9df26819b9555fb790a16662f4ad2b9cbb2e2
real 0m27.145s
user 0m27.110s
sys 0m0.012s
ruby 2.2.0dev (2014-08-21 trunk 47241) [x86_64-linux]
real 1m54.648s
user 1m54.512s
sys 0m0.028s
```
It is clear that MRI is too slow.
I haven't dig details, but maybe it is because of GC perforamance. Because Proc (and Env) objects are wb-unprotected, such objects are marked on every minor GC.
This problem is not critical because MRI is not for lambda calculus :p but we can improve about it.
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>