動的性が Ruby の遅さの原因?


引き続き、Strongtalk ネタ。Smalltalk Tidbits, Industry Rants - Explaining the Nature of Reality 経由で。


Joel on Software でジョエル・スポルスキーが、Ruby の遅さの原因は動的結合、動的型システムにある…というようなことを言っているのに対して、Seaside のアヴィ・ブライアントが Strongtalk を例に挙げて、んなこたーないって反論しているみたいな話。ありがちな対立構図なんですが、知っている名前によって馴染みの処理系が(いずれも例として適切ではないっぽいにせよ…)引き合いに出されていたのが面白かったので。


なお、本文にもありますが念のため、Strongtalk の静的型チェックはオプショナル(つまり、型安全性の確認が目的で、型情報はコンパイル時には無視される…)で、仮想マシン性能とは関係ありません。あくまで、Animorphic VM の動的最適化機構の話です。このことを取り違えて「Strongtalk って、強い型付きの Smalltalk でしょ?」とか思っちゃうと、対立点を見失ってしまうので注意してください(^_^;)。


素人考えですが、最後のほうで、このほど Sun が JRuby の開発者を雇用したことと絡めて、Ruby も Strongtalk の仮想マシン技術を利用すれば速くなる可能性がある…みたいな方向に持っていくのはちょっと違和感が。YARV の ささださんが同技術に興味があって、このたびのオープンソース化を契機に積極的に取り込んでゆく…ということなら話は別ですが。もっとも個人的には、Ruby の遅さは数少ない叩きどころの一つ(叩くのかよっw)なので、Smalltalk 並に速くなったりしたら、やだなーとも。w