脳ざらし紀行


2006-02-06

_ [Ruby] yarv

YARV will be merged into Ruby 1.9 at Feb 14, Saint Valentine’s Day.

Subversion から CVS に移行することになるのかな?


2006-02-09


2006-02-11

_ おわった

RD-H1 の中に溜っているアニメを見よう。映画を見にいこう。ついでに、『風の谷のナウシカ』も読みかえそう。

_ 約1cm 本体からはみ出します

そんなことはどうでもいいから早く売って下さい。


2006-02-14

_ yarv

コミットのスピードが尋常ではない。

_ 2種類の技術

簡単に言って技術には2種類ありまして、製品を安く製造するための技術と、他社の製品と差別化するための技術。自社に技術が無い場合、他所から仕入れれば、製品を提供することは出来るかも知れないけど、利益がでない。他社と違ったことが出来ても価格競争力が無いと駄目なわけです。で、Google。Google は利用者に対して、非常に安価にサービスを提供していて、また他社との差別化もある程度出来ているという点において、優れている。

ここでいう利用者というのは、もちろんGoogleにお金を払っている広告主のことですが。

Google の価格競争力の優位性は技術の発展にともなって、いつまでつづくだろうか。というのが、僕の疑問。


2006-02-17

_ 実行するとyarvのバグが見つかりそうな Ruby のライブラリとかソフトを教えて

下さい。条件としては

  • インストールが簡単
  • 拡張ライブラリを使っていない。
  • ruby に標準添付の拡張ライブラリも使っていない。

です。


2006-02-22

_ Ruby2.0

$ 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

何が遅いんだろう。


2006-02-26

_ WEBrick on yarv

手元だと、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+Antinnyによる情報漏洩を防止する方法

正しい Winny の使い方を行政が啓もうするしか。


2006-02-27

_ 三桁毎にスペースを挿入する正規表現

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 "

最近のコメント

2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|04|05|
2011|04|
2012|03|07|
2013|01|02|07|
トップ 最新 追記