YARV will be merged into Ruby 1.9 at Feb 14, Saint Valentine’s Day.
Subversion から CVS に移行することになるのかな?
RD-H1 の中に溜っているアニメを見よう。映画を見にいこう。ついでに、『風の谷のナウシカ』も読みかえそう。
そんなことはどうでもいいから早く売って下さい。
大正琴の伴奏で「牛ちゃんマンボ」を歌って欲しいです。
コミットのスピードが尋常ではない。
簡単に言って技術には2種類ありまして、製品を安く製造するための技術と、他社の製品と差別化するための技術。自社に技術が無い場合、他所から仕入れれば、製品を提供することは出来るかも知れないけど、利益がでない。他社と違ったことが出来ても価格競争力が無いと駄目なわけです。で、Google。Google は利用者に対して、非常に安価にサービスを提供していて、また他社との差別化もある程度出来ているという点において、優れている。
ここでいう利用者というのは、もちろんGoogleにお金を払っている広告主のことですが。
Google の価格競争力の優位性は技術の発展にともなって、いつまでつづくだろうか。というのが、僕の疑問。
下さい。条件としては
です。
$ ruby-2.0 -v ruby 2.0.0 (Base: Ruby 1.9.0 2006-02-14) [i686-linux] YARVCore 0.4.0 Rev: 470 (2006-02-22) [opts: ]
キタ━━━(゜∀゜)━━━!!
ネイティブスレッドだからといって速いというわけではないのか。
$ ruby-1.9 generator.rb Loaded suite generator Started .... Finished in 0.060163 seconds. 4 tests, 70 assertions, 0 failures, 0 errors
$ ruby-2.0 generator.rb Loaded suite generator Started .... Finished in 2.239483 seconds. 4 tests, 70 assertions, 0 failures, 0 errors
何が遅いんだろう。
手元だと、yarv の方が ruby-1.9 より 1.6〜1.8倍くらい速いです。同じマシンで ab も走らせた手抜きベンチマークですが。CPU は Celeron 2.60GHz。
$ cat ws.rb require 'webrick' include WEBrick s = HTTPServer.new({ :Port => 2000, :DocumentRoot => Dir::pwd, :Logger => Log.new(nil, -1), :AccessLog => [[File.open('/dev/null', 'a+'), '']], }) trap("INT"){ s.shutdown } s.start
$ head -c 2048 /dev/urandom | mimencode > hoge
$ ab -n 200 -c 10 http://127.0.0.1:2000/hoge
# ruby-1.9 の結果 Server Software: WEBrick/1.3.1 Server Hostname: 127.0.0.1 Server Port: 2000 Document Path: /hoge Document Length: 2770 bytes Concurrency Level: 10 Time taken for tests: 2.290935 seconds Complete requests: 200
# yarv の結果 Server Software: WEBrick/1.3.1 Server Hostname: 127.0.0.1 Server Port: 2000 Document Path: /hoge Document Length: 2770 bytes Concurrency Level: 10 Time taken for tests: 1.328412 seconds Complete requests: 200
正しい Winny の使い方を行政が啓もうするしか。
Ruby だと
re = /(\d{1,3}\.\d+\z|\d{1,3}(?=\d{3}*\z|\d{3}+\.\d+\z))/ '1234567890'.gsub(re, '\\1 ') #=> "1 234 567 890 " '1234567890.1234'.gsub(re, '\\1 ') #=> "1 234 567 890.1234 " '0.1234'.gsub(re, '\\1 ') #=> "0.1234 "
最近のコメント