そーいえば BitClust は YARV で動くんだろうかー、 と思って試してみたらあっさり動いた。 しかし微妙に遅くなっている。0.03 秒くらい。
~/c/bitclust % time ruby bin/refe.rb -d tmpdb strin index >/dev/null method expand: 0.055 (n_methods:3) class expand: 0.008 (n_classes:1) type expand: 0.009 ruby bin/refe.rb -d tmpdb strin index > /dev/null 0.19s user 0.07ssystem 68% cpu 0.368 total ~/c/bitclust % time ruby-yarv bin/refe.rb -d tmpdb strin index >/dev/null method expand: 0.062 (n_methods:3) class expand: 0.007 (n_classes:1) type expand: 0.008 ruby-yarv bin/refe.rb -d tmpdb strin index > /dev/null 0.22s user0.07s system 72% cpu 0.392 total
んー、でも、起動が遅くなっていることも考えると、 実行自体はそれなりに速くなってるんだろうな。 やはりもうちょっと時間のかかるプログラムでないとあまり意味がない。
パースのほうを計測すれば速度差が出るかもな。 ディスク書き込み直前までの実行時間を計測してみよう。
~/c/bitclust % time ruby =bitclust -d ./tmpdb3 update --stdlibtree=../rubydoc/refm/api/src ruby =bitclust -d ./tmpdb3 update --stdlibtree=../rubydoc/refm/api/src 6.04s user 0.18s system 98% cpu 6.333 total ~/c/bitclust % time ruby-yarv =bitclust -d ./tmpdb4 update --stdlibtree=../rubydoc/refm/api/src ruby-yarv =bitclust -d ./tmpdb4 update --stdlibtree=../rubydoc/refm/api/src 5.95s user 0.20s system 99% cpu 6.161 total
やっぱ微妙に速いな。0.1 秒くらい。 BitClust は I/O と (C レベルの) 文字列処理のかたまりだから、 こんなもんだろうね。
(17:05)
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.