#:g1: Gabriel Benchmarksの紹介

Posted 2014-03-26 15:00:00 GMT

(LISP Library 365参加エントリ)

 LISP Library 365 の86日目です。

Gabriel Benchmarksとはなにか

 Gabriel Benchmarksは、Richard P. Gabriel氏が中心となって作成したベンチマーク集です。
ベンチでお馴染のtak関数ですが、このベンチマーク集に含まれていたこともLisp界隈で広く知られるようになったきっかけではないでしょうか(多分)。
当時Lisp処理系のベンチについては賛否両論があったようで、その辺りの経緯も本として出版されていますので、興味のある方は読んでみては如何でしょう。

パッケージ情報

パッケージ名Gabriel Benchmarks
Common Lisp版(CLtL1)Package: lang/lisp/code/bench/gabriel/
Scheme版(R4RS位)Scheme-Repos:code/misc/gabriel-scm.tar.gz

インストール方法

 上記サイトからダウンロードして実行しますが、古いので修正が必要です。
Scheme版に関してはLarcenyのサイトの R6RSベンチのページで修正されたものが配布されているようです。

Common Lispに関してはcl-bench等に含まれていたりします。

試してみる

 GCLは基本的にCLtL1の処理系で、KCL/AKCLの頃からそれ程変っていないようなので配布物のmakefileで処理系の名前を修正する位で動きます。

--------------   SESSION   ------------------

For skcl Common Lisp Tue Apr 19 23:40:44 CDT 1988

BOYER 6.600 BROWSE 12.817 CTAK 3.417 DDERIV 3.283 DERIV 2.633 DESTRU-MOD 0.975 DESTRU 1.362 DIV2 3.150 FFT-MOD 5.283 FFT 32.133 FPRINT 0.625 FREAD 1.242 FRPOLY 46.500 PUZZLE-MOD 4.283 PUZZLE 4.833 STAK 1.771 TAK-MOD 2.883 TAK 3.783 TAKL 1.317 TAKR 0.504 TPRINT 1.025 TRAVERSE 25.533 TRIANG-MOD 62.450 TRIANG 77.800 -------------- SESSION ------------------

For gcl Common Lisp Mon Mar 24 00:31:11 JST 2014

BOYER 0.000 BROWSE 0.020 CTAK 0.010 DDERIV 0.000 DERIV 0.000 DESTRU-MOD 0.002 DESTRU 0.002 DIV2 0.000 FFT-MOD 0.000 FFT 0.000 FPRINT 0.000 FREAD 0.000 FRPOLY 0.030 PUZZLE-MOD 0.000 PUZZLE 0.000 STAK 0.002 TAK-MOD 0.000 TAK 0.000 TAKL 0.000 TAKR 0.002 TPRINT 0.002 TRAVERSE 0.030 TRIANG-MOD 0.070 TRIANG 0.070

 添付されてくるファイルのtimesに結果が記録されています。
前回のマシンはSun 3/280(25 MHz)っぽいですが、Core2 Duo P8600 2.4GHz(5年位前のスペック)と比較しても1000倍位違うところに隔世の感があります。

まとめ

 今回は、Gabriel Benchmarksを紹介してみました。
スタンフォード大学のSAIL DARTには、Gabriel氏らが収集していた当時のデータや、上述のPerformance and Evaluation of Lisp Systemsで引用されているメール等が埋もれていたりするので、そのうち整理して眺めてみたいと思ったりしています。

comments powered by Disqus