ぐる式 (貳) より引っ越し作業中.未完.

2009年9月20日日曜日

Pharo 1.0-10451-BETAdev09.09.3 is Closure aware

Pharo 1.0-10451-BETAdev09.09.3

Pharo Open Source Smalltalk - Home

昨今は本家よりも勢いがある Pharo である.最近出た (と言っても,今月 3 回目のリリースだ) pharo1.0-10451-BETAdev09.09.3 を半日ほどぶっ続けで使ってみた.シンプルなコア・バージョン [Pharo-project] [ANN] Core image #10451 ではなくて,でぶバージョンの方.

  • 画像で判るとおり,デフォルトで BlockClosure aware になってる.
  • 以前のバージョンは「クラス・メソッドを定義しようすると堕ちる」とかいう噂もあったんだが,今回はさすがにんなことはなかった (笑).とりあえず,「窓から投げ捨てるべき」バージョン地獄からは抜け出したか.
  • ふだんは 3.10.2 のでぶバージョンをメインにしてるんだけど,修飾キーのアサインが違っててまごつく.メニューもコンパクトになっちゃってて,慣れるまでがタイヘンかと (笑).新規プロジェクト作成がワールド・メニュー内に隠れてて, opt + click でないと出て来ないのには参った.
  • デフォルトのブラウザは O2SystemBrowser (OmniBrowser) ではなくて, OBSystemBrowser になってる.この程度のマシンだと Omni でもストレスないけど,ウィンドウのパーツの色が,昔に戻ったりする.
  • フォントが充実してて Comic Sans MS も復活 (笑).
  • ウィンドウのパーツがデカいので,少々不格好な感じがせんでもない.
  • アップル・メニューが使えるようになってるのは VM のおかげかな.
  • あと,とくに終了時に頻発するのが doesNotUnderstand: などのウォークバック[こんな感じで出る.
    UndefinedObject(Object)>>doesNotUnderstand: #includes:    Receiver: nil    Arguments and temporary variables:         aMessage:     includes: a QuestionDialogWindow(747)        exception:     MessageNotUnderstood: UndefinedObject>>includes:        resumeValue:     nil    Receiver's instance variables: nilMouseOverHandler>>noticeMouseOver:event:    Receiver: a MouseOverHandler    Arguments and temporary variables:         aMorph:     a QuestionDialogWindow(747)        anEvent:     [216@107 mouseOver nil nil]    Receiver's instance variables:         mouseOverMorphs:     an Array(a LazyListMorph(3536) a TransformMorph(3271)             a Plugga...etc...        enteredMorphs:     a WriteStream #()        overMorphs:     a WriteStream #()        leftMorphs:     an IdentitySet(a LazyListMorph(3536) a PluggableListMorph(873)             a Pr...etc...
    ]
    .マウスのハンドリングに難あり,ですか.遅いマシンだけかと思ったけど Core 2 Duo 2.66GHz/4GB でも起こるんで,なんかこの辺が「まだまだ」ということですかね.
  • Transcript に出ている warning は, 例によって SystemWindow>>setUpdatablePanesFrom: getSelectors にパッチを当てれば出なくなる.

Damien さんは Squeak's developer images からは手を引いて (中断して) こっちの方に注力してるようだし,引っ越すことを考えておくべきか知れん.ただ,現状では,多いときで月に 6 回,少ないときでも 3 回もアップデート掛かってる状態だから,もうちょっと落ち着いてからにせんとな.え, 今さら 3.9 (ベース) に戻るの? (笑) いや,それより,ほんまに eToys なくなっちゃってダイジョブなんか,自分?

お約束のシンプル・メトリクス.だいぶ充実してきた,っつ〜か, 3.10.2 (3.9.1) のでぶバージョンを追い越した? (笑)

Pharo 1.0-10451-BETA いろいろ
version classes methods NOM
Pharo 1.0-10451-BETAdev09.09.3 3229 58567 18.14
Pharo 1.0-10451-BETAweb09.09.3 4292 69757 16.25
Pharo Core-1.0-10451-BETA 1708 41824 24.49

んで,ハンディ・ベンチマーク.

Benchmarks on MacBook Pro Intel Core 2 Duo 2.66GHz/4GB
vm vi benchFib benchmark tinyBenchmarks
4.2.1b1U Pharo 1.0-10451-BETA dev09.09.3 13,094,500 625,000,000 554,112,554 bytecodes/sec
12,477,977 sends/sec
4.2.1b1U Pharo Core-1.0-10451-BETA 10,617,162 625,000,000 606,275,902 bytecodes/sec
13,182,092 sends/sec
4.2.1b1U sq3.9.1-7075dev09.07.1 11,904,090 555,555,000 605,558,840 bytecodes/sec
13,741,570 sends/sec
4.2.1b1U sq3.10.2-7179dev09.07.1 12,672,096 500,000,000 603,417,796 bytecodes/sec
13,182,092 sends/sec
3.8.18b4U (*) 不明
(sq3.10.2-7179dev08.09.1?)
7,612,453 357,538,160 357,541,899 bytecodes/sec
7,578,586 sends/sec
4.2.1b1U (**) Pharo Core-1.0-10451-BETA 2,953,646 57,471,000 55,944,055 bytecodes/sec
2,906,348 sends/sec

とくに速いというわけでもないな.下の 3.8.18b4U のは Pharo イメージでもないし MBP でもないけど,参考程度に以前の暗黒本 (Tiger / MB / Core Duo 2GHz 2GB) での結果.クロック数の差異相当よりも早くなってるな. VM のおかげ?  OS の違いも関係してんのだろか? 最下段は Tiger / PowerBook G4 867MHz / 1.12GB (Jacqueline) での結果.もはや,悲惨としか (笑).

0 件のコメント:

コメントを投稿