COMMON LISP JP > Archives > 2009/11/13

2009/11/13 03:53:41 UTCg000001
#
お、参加登録証とかあるんですね。自分も貰ってないかもw 受付&正式なのを送付しますメールはありますねー。これで大丈夫なのではないかと('-'*)
2009/11/13 11:18:14 UTCgaraemon
#
ACL 8.1のライセンスをゲットした!
2009/11/13 12:06:26 UTCg000001
#
いいなあ大学はw
#
Windows版ですか?
2009/11/13 12:07:25 UTCgaraemon
#
win/linux 32bit/64bitです
#
darwinも交渉中
#
make-instanceとか早いのかなー
#
起動が早いのは○ >> ACL
2009/11/13 12:08:45 UTCg000001
#
前にakaさんにベンチとってもらったんですが、CLOS周りは速かったです
2009/11/13 12:09:14 UTCgaraemon
#
defmethodとか速いんでしたっけ?
#
generic applyもはやいのかなー
2009/11/13 12:09:40 UTCg000001
#
速かったですねー。ブクマどこだ
2009/11/13 12:09:55 UTCgaraemon
#
#
ちゃんと(compile 'hoge)しないといけないのか
2009/11/13 12:10:32 UTCg000001
#
http://aka-cs-blog.blogspot.com/2009/01/cl-bench.html
#
でした
#
10倍くらい違うところも結構ありますよねー。それ以外は案外SBCLとかの方が速いという
#
CCLはCLOSもそこそこ速いみたいです
#
あとfactとかfibとかだとSBCLよりCCLが速かったりするというw
2009/11/13 12:13:45 UTCgaraemon
#
いまcl-benchかけてます.
#
ACL 8.1
#
;;
;; Function                      real     user     sys       consed
;; ----------------------------------------------------------------
;; COMPILER                      0.87     0.75     0.00            0
;; LOAD-FASL                     0.15     0.14     0.00            0
;; SUM-PERMUTATIONS              1.46     1.38     0.00            0
;; WALK-LIST/SEQ                 0.01     0.01     0.00            0
;; WALK-LIST/MESS                0.02     0.02     0.00            0
;; BOYER                         3.17     3.12     0.00            0
;; BROWSE                        0.17     0.17     0.00            0
;; DDERIV                        0.20     0.19     0.00            0
;; DERIV                         0.21     0.20     0.00            0
;; DESTRUCTIVE                   0.13     0.13     0.00            0
;; DIV2-TEST-1                   0.19     0.19     0.00            0
;; DIV2-TEST-2                   0.20     0.21     0.00            0
;; FFT                           0.04     0.03     0.00            0
;; FRPOLY/FIXNUM                 0.25     0.26     0.00            0
;; FRPOLY/BIGNUM                 0.34     0.34     0.00            0
;; FRPOLY/FLOAT                  0.42     0.43     0.00            0
;; PUZZLE                        0.35     0.35     0.00            0
;; TAK                           0.23     0.23     0.00            0
;; CTAK                          0.38     0.38     0.00            0
;; TRTAK                         0.20     0.20     0.00            0
;; TAKL                          0.25     0.25     0.00            0
;; STAK                          0.91     0.90     0.00            0
;; FPRINT/UGLY                   0.44     0.41     0.00            0
;; FPRINT/PRETTY                 0.98     0.97     0.00            0
;; TRAVERSE                      0.41     0.40     0.00            0
;; TRIANGLE                      0.51     0.52     0.00            0
;; RICHARDS                      0.90     0.90     0.00            0
;; FACTORIAL                     0.25     0.26
#
;; FACTORIAL                     0.25     0.26     0.00            0
;; FIB                           0.11     0.11     0.00            0
;; FIB-RATIO                     0.01     0.01     0.00            0
;; ACKERMANN                     1.24     1.21     0.00            0
;; MANDELBROT/COMPLEX            0.49     0.46     0.00            0
;; MANDELBROT/DFLOAT             0.02     0.02     0.00            0
;; MRG32K3A                      0.64     0.63     0.00            0
;; CRC40                        13.90    13.72     0.00            0
;; BIGNUM/ELEM-100-1000          0.18     0.18     0.00            0
;; BIGNUM/ELEM-1000-100          0.71     0.70     0.00            0
;; BIGNUM/ELEM-10000-1           0.93     0.93     0.00            0
;; BIGNUM/PARI-100-10            0.03     0.03     0.00            0
;; BIGNUM/PARI-200-5             0.16     0.16     0.00            0
;; PI-DECIMAL/SMALL              1.07     1.07     0.00            0
;; PI-DECIMAL/BIG                1.21     1.21     0.00            0
;; PI-ATAN                       0.83     0.83     0.00            0
;; PI-RATIOS                     1.97     1.96     0.00            0
;; HASH-STRINGS                  0.19     0.19     0.00            0
;; HASH-INTEGERS                 0.28     0.28     0.00            0
;; SLURP-LINES                   0.71     0.66     0.00            0
;; BOEHM-GC                      1.11     1.11     0.00            0
;; DEFLATE-FILE                  0.39     0.28     0.00            0
;; 1D-ARRAYS                     0.03     0.03     0.00            0
;; 2D-ARRAYS                     0.73     0.65     0.00            0
;; 3D-ARRAYS                     2.16     1.95     0.00            0
;; BITVECTORS                    1.24     1.04     0.00            0
;; BENCH-STRINGS                 0.84     0.82     0.00            0
;; fill-strings/adjustable       5.65     5.63     0.00            0
;; SEARCH-SEQUENCE               0.52     0.52     0.00            0
;; CLOS/defclass                 0.12     0.12 
#
;; CLOS/defclass                 0.12     0.12     0.00            0
;; CLOS/defmethod                0.15     0.15     0.00            0
;; CLOS/instantiate              0.91     0.88     0.00            0
;; CLOS/simple-instantiate       0.13     0.14     0.00            0
;; CLOS/methodcalls              1.37     1.35     0.00            0
;; CLOS/method+after             0.75     0.72     0.00            0
;; CLOS/complex-methods          0.22     0.22     0.00            0
;; EQL-SPECIALIZED-FIB           0.19     0.16     0.00            0
2009/11/13 12:17:05 UTCg000001
#
そうそう、allegroはFlavors使えますよw
#
Euslispの書き方とは違いますが
2009/11/13 12:17:52 UTCgaraemon
#
Flavors ktkr!
#
cl-benchのrun-sbcl.shが完走しない...
2009/11/13 12:20:39 UTCg000001
#
EuslispのdefmethodってCLのdefgenericみたいですよねー
2009/11/13 12:22:08 UTCgaraemon
#
そうですか?
#
CLOSのmethod(generic)は
#
引数の数がかわると使えないので, まぁそりゃそうなんですが, 不便ですねー
2009/11/13 12:23:34 UTCg000001
#
(defmethod foo (obj &rest rest)...)とかじゃだめですかねw
2009/11/13 12:23:38 UTCgaraemon
#
sbcl 1.0.32
#
;; Function                      real     user     sys       consed
;; ----------------------------------------------------------------
;; COMPILER                      1.39     1.32     0.00            0
;; LOAD-FASL                     0.18     0.18     0.00            0
;; SUM-PERMUTATIONS              1.06     1.01     0.00            0
;; WALK-LIST/SEQ                 0.01     0.01     0.00            0
;; WALK-LIST/MESS                0.02     0.02     0.00            0
;; BOYER                         2.13     2.12     0.00            0
;; BROWSE                        0.21     0.22     0.00            0
;; DDERIV                        0.18     0.18     0.00            0
;; DERIV                         0.19     0.20     0.00            0
;; DESTRUCTIVE                   0.19     0.20     0.00            0
;; DIV2-TEST-1                   0.25     0.24     0.00            0
;; DIV2-TEST-2                   0.28     0.28     0.00            0
;; FFT                           0.04     0.04     0.00            0
;; FRPOLY/FIXNUM                 0.21     0.21     0.00            0
;; FRPOLY/BIGNUM                 0.23     0.24     0.00            0
;; FRPOLY/FLOAT                  0.31     0.31     0.00            0
;; PUZZLE                        0.26     0.23     0.00            0
;; TAK                           0.20     0.20     0.00            0
;; CTAK                          0.27     0.26     0.00            0
;; TRTAK                         0.19     0.18     0.00            0
;; TAKL                          0.30     0.28     0.00            0
#
;; STAK                          0.38     0.37     0.00            0
;; FPRINT/UGLY                   0.64     0.63     0.00            0
;; FPRINT/PRETTY                 1.46     1.45     0.00            0
;; TRAVERSE                      0.39     0.38     0.00            0
;; TRIANGLE                      0.38     0.38     0.00            0
;; RICHARDS                      0.43     0.43     0.00            0
;; FACTORIAL                     0.17     0.17     0.00            0
;; FIB                           0.16     0.16     0.00            0
;; FIB-RATIO                     0.04     0.04     0.00            0
;; ACKERMANN                     1.99     1.98     0.00            0
;; MANDELBROT/COMPLEX            0.31     0.31     0.00            0
;; MANDELBROT/DFLOAT             0.02     0.02     0.00            0
;; MRG32K3A                      0.60     0.60     0.00            0
;; CRC40                         6.93     6.85     0.00            0
;; BIGNUM/ELEM-100-1000          0.11     0.12     0.00            0
;; BIGNUM/ELEM-1000-100          0.26     0.26     0.00            0
;; BIGNUM/ELEM-10000-1           0.28     0.28     0.00            0
;; BIGNUM/PARI-100-10            0.02     0.02     0.00            0
;; BIGNUM/PARI-200-5             0.07     0.07     0.00            0
;; PI-DECIMAL/SMALL              0.78     0.78     0.00            0
;; PI-DECIMAL/BIG                0.77     0.73     0.00            0
;; PI-ATAN                       0.57     0.57     0.00            0
;; PI-RATIOS                     1.13     1.12     0.00            0
;; HASH-STRINGS                  0.12     0.12     0.00            0
;; HASH-INTEGERS                 0.34     0.34     0.00            0
#
;; SLURP-LINES                   0.66     0.63     0.00            0
;; BOEHM-GC                      0.79     0.77     0.00            0
;; DEFLATE-FILE                  0.17     0.17     0.00            0
;; 1D-ARRAYS                     0.03     0.03     0.00            0
;; 2D-ARRAYS                     0.35     0.35     0.00            0
;; 3D-ARRAYS                     1.03     1.02     0.00            0
;; BITVECTORS                    0.56     0.56     0.00            0
;; BENCH-STRINGS                 0.41     0.40     0.00            0
;; fill-strings/adjustable       5.79     5.77     0.00            0
;; SEARCH-SEQUENCE               0.07     0.07     0.00            0
;; CLOS/defclass                 0.67     0.65     0.00            0
;; CLOS/defmethod                1.42     1.40     0.00            0
;; CLOS/instantiate              3.88     3.87     0.00            0
;; CLOS/simple-instantiate       0.15     0.14     0.00            0
;; CLOS/methodcalls              0.75     0.75     0.00            0
;; CLOS/method+after             1.17     1.10     0.00            0
;; CLOS/complex-methods          1.39     1.38     0.00            0
;; EQL-SPECIALIZED-FIB           0.18     0.18     0.00            0
#
sbclの方が基本てきに速い...?
#
自分で引数パースするのはめんどうだ www
2009/11/13 12:32:59 UTCg000001
#
なるほど、Newじゃない方のFlavorsもシングルディスパッチなのでEuslispが便利なんですかねー
2009/11/13 12:33:56 UTCgaraemon
#
まぁ一長一短だとは思いますがねー
2009/11/13 12:34:02 UTCg000001
#
そうなんですよ、意外にもw > 基本的に速い
2009/11/13 12:34:22 UTCgaraemon
#
ACL 8.2に期待したい
#
sbclはこないだのupdateでmake-instanceが爆速になってる気がします
2009/11/13 12:35:08 UTCg000001
#
9がマルチコア対応になるらしいですね。8.2はこないだテスター募集でしたね
2009/11/13 12:35:20 UTCgaraemon
#
8.2は対応しないんでしたっけ?
#
9は並列GCとか入るのかなー
2009/11/13 12:35:40 UTCg000001
#
8.2は何が目玉なんだったろう
2009/11/13 12:35:54 UTCgaraemon
#
実時間GCはだいぶ先らしいですが.
2009/11/13 12:36:17 UTCg000001
#
なるほどーSBCLもCLOSがんばってるんですね
2009/11/13 12:36:19 UTCgaraemon
#
cl-bench, SEARCH-SEQUENCEがACLはひどいですね
#
CLOS/instantiateはACLのほうが速いですねー
#
うーん, これはどっち使うかなやむなー
2009/11/13 12:38:05 UTCg000001
#
もう、defunは廃止して、defmethodにしてACLじゃないですか?w
2009/11/13 12:38:32 UTCgaraemon
#
しかし数値計算はSBCLが速いっぽいですからねー
2009/11/13 12:39:04 UTCg000001
#
これ32bit版ですか?
2009/11/13 12:39:11 UTCgaraemon
#
はい
#
64bitやってみるか!
#
まずは64bit linuxを作らないと...
2009/11/13 12:39:53 UTCg000001
#
こないだのコンパイラの比較によると、64bitの方が速いらしいですよね
2009/11/13 12:40:16 UTCgaraemon
#
そういえば
#
コンパイラの比較
#
pdfとかどっかにあるんですか?
2009/11/13 12:41:56 UTCg000001
#
http://cl-www.msi.co.jp/solutions/knowledge/lisp-world/tutorial/compiler-eval.pdf
#
ですね
2009/11/13 12:42:23 UTCgaraemon
#
おー、そうか, 阿部さんなんだー
2009/11/13 12:42:26 UTCg000001
#
11/20のセミナーでは、これやるみたいですよ
2009/11/13 12:43:00 UTCgaraemon
#
20はいけないんですよねー
2009/11/13 12:43:02 UTCg000001
#
あと19日のセミナーの黒田さんの回はCLのチューニングみたいです
2009/11/13 12:47:39 UTCgaraemon
#
ひととおりpdf目を通しました
#
CL処理系はどれもまだまだ, 甘いですねー.
2009/11/13 12:49:31 UTCg000001
#
自分もCLのコンパイラは限界までがんばってるというイメージだったんですが、印象変りますよね
#
のびしろがあるということは良いことだw
2009/11/13 12:49:55 UTCgaraemon
#
www
#
java? 遅すぎるよね? っていう日も近い!
2009/11/13 12:52:37 UTCg000001
#
こないだのshibuya.lispでも話題になったんですがlispマシンとかだとどういうことになるのかちょっと知りたいですよね
2009/11/13 12:52:57 UTCgaraemon
#
それはありますねー,
2009/11/13 12:53:01 UTCg000001
#
機械まかせでさらにがんばってないかもしれませんがw
2009/11/13 12:53:18 UTCgaraemon
#
でもintelのCPUは当時とは比べものにならないくらい速いですからねー
#
intel CPUにダーティビットのる日も遠くないはずです.
#
.NETとjava対応で
2009/11/13 12:54:56 UTCg000001
#
なるほどー、ありそうですよね
#
そうそう、ACLといえばELIなんですが、akaさんが逆引きCLにいろいろ纏めてくれています
2009/11/13 12:55:39 UTCgaraemon
#
C#はGCあるので, ゲームとかはGC入らないようにループ書くとかいうはなしを聞いたことがある気がします
2009/11/13 12:55:42 UTCg000001
#
http://tips.lisp-users.org/common-lisp/index.cgi?ELI
2009/11/13 12:56:04 UTCgaraemon
#
ちょうどeliってなんだよ!と思ってたところでした
2009/11/13 12:56:32 UTCg000001
#
slimeみたいな感じですね。akaさんはslimeじゃなくてこっち専門みたいです
#
eliの情報はレアですw
2009/11/13 13:42:24 UTCmaru
#
ELIいいっすよ。
2009/11/13 14:08:57 UTCg000001
#
去年のmsiのセミナーで黒田さんが使ってるところを見ましたが良い感じでしたねー
2009/11/13 14:09:39 UTCmaru
#
僕は
#
SLIMEより先にACL+ELIに馴染んでしまったので
#
他の開発環境に耐えられるようになるまで結構しんどかったです
2009/11/13 14:11:53 UTCg000001
#
ACLと組合せるんだったら独自の機能がつかいやすそうなのでやっぱりELIなんですかねー。
2009/11/13 14:14:48 UTCgaraemon
#
ELIとSLIMEとはどのへんが違うんですか?
#
まったく違う?
2009/11/13 14:15:33 UTCg000001
#
自分の印象では、ELIはなんとなくREPLを多用するような
2009/11/13 14:15:48 UTCmaru
#
使用感?機能?
2009/11/13 14:16:21 UTCg000001
#
SLIMEはlispマシンっぽくエディタバッファであれこれする気が。lispマシンっぽくっていう例えが余計わかりづらいですがw
2009/11/13 14:16:35 UTCmaru
#
ELIだとこれができるのにSLIMEだとできない(もしくは逆)っていう比較は真剣にやったことないなー
2009/11/13 14:17:11 UTCg000001
#
zoomとかaclのreplであれこれする機能はslimeではないんじゃないでしょうか
2009/11/13 14:17:14 UTCgaraemon
#
使用感がきになりますー
2009/11/13 14:17:50 UTCmaru
#
使用感はどう伝えたらいいのかなぁ。
2009/11/13 14:18:38 UTCg000001
#
ソースのバッファでc-x c-eするとemacs lispとして評価されるんですよねたしかw
2009/11/13 14:19:03 UTCmaru
#
そんなこたーない。
2009/11/13 14:19:06 UTCg000001
#
replに送るのは別のコマンドだったかな
2009/11/13 14:19:18 UTCmaru
#
ちゃんとalisp/mlispに送られるです
#
キーバインドが何だったかは覚えてないですが
2009/11/13 14:20:01 UTCg000001
#
あれ、そうでしたっけ。なにかが激しく印象に残っていますw
#
slimeだとelisp的な操作は全部のっとられますね
#
そうだ、fletとかトレースできるんだ
#
http://www.geocities.co.jp/SiliconValley-PaloAlto/7043/ACLTutorial.html#sec1
#
これ結構分かりやすいですね
#
CLで式を評価は、C-c C-sとかで、elispとかでお馴染のC-x C-eするとelispの評価になって面喰らった思い出があったんですけどねー。手元にeli環境作るのが面倒で確認できない(^^;
#
C-c C-rはセミナーで黒田さんが使ってて便利そうだったのでslimeで自作しました('-'*)
2009/11/13 14:29:57 UTCmaru
#
これは太田さんのページですね。懐かしい
#
昔社員のほとんどがLispプログラマという変な会社があってですねw
2009/11/13 14:33:30 UTCg000001
#
あれ、slimeに元からあるしキーバインドもC-c C-rだなw > slime-eval-region
#
おおー、素晴らしい会社ですねw > ほとんどがlispプログラマ
2009/11/13 14:35:32 UTCmaru
#
いやー素晴らしいかどうかは元中の人達に聞いてみないと(爆)
2009/11/13 14:36:25 UTCg000001
#
2000年代初頭はこの方のページくらいしか日本語のCLの情報がウェブになかったりしたんでしょうか?
#
onjoさんより先に色々書いてらしたみたいですよね
2009/11/13 14:39:06 UTCmaru
#
Onjoさんのページも3回(2回?)くらいリニューアルというか、様変わりしてますよね
#
2000年頭ころだと太田さんかよろずやのどちらかが引っ掛かる感じだったかな。日本語
2009/11/13 14:40:06 UTCg000001
#
ですね、全部同じ人がやってるんだとばかり思ってましたw
#
ハンドルかえてやってるのかなと
2009/11/13 14:47:54 UTCg000001
#
ああ、自分が作ったのは、slime-eval-region-hackか 範囲内のdefvarをdefparameterとして評価するという
#
Lispマシンのマニュアル読んで便利そうだったんで作ってみたんですが、slime-eval-defunで似たような機能があったという…
2009/11/13 14:53:32 UTCmaru
#
My Lisp machine持ってる人いたな〜。どういう経緯で持ってたんだろ
#
s/る/た/
2009/11/13 14:56:38 UTCg000001
#
うらやましいですねー。実機触ってみたいです
2009/11/13 15:00:36 UTCmaru
#
結局実機動かしてるところは見せてもらわなかったですね。当時の僕にはまだ価値が理解できてなかったw
2009/11/13 16:08:33 UTCgaraemon
#
しかし, chaton-twitterブリッジ便利. 電車の中でも, twitterクライアントからのぞける.