早いほうが嬉しいよね
http://cadr.g.hatena.ne.jp/g000001/20110303/1299155102 を CCL1.6/Win32 で実行してみた。
=========================== READ =========================== 0.217 sec. LEXICAL-VAR-READ 0.218 sec. LEXICAL-VECTOR-1-READ 0.233 sec. LEXICAL-VECTOR-10-READ 0.248 sec. LEXICAL-CONS-1-READ 0.310 sec. GLOBAL-SPECIAL-1-READ 0.311 sec. LOCAL-SPECIAL-1-READ 0.607 sec. CLOSURE-1-READ 0.715 sec. STRUCT-1-READ 0.731 sec. STRUCT-10-READ 0.762 sec. SYMBOL-PLIST-1-READ 0.778 sec. SYMBOL-VALUE-1-READ 2.192 sec. LEXICAL-PLIST-1-READ 4.276 sec. LEXICAL-CONS-10-READ 4.368 sec. HASH-1-READ 4.431 sec. HASH-10-READ 4.617 sec. SYMBOL-PLIST-10-READ 9.887 sec. LEXICAL-PLIST-10-READ 11.380 sec. CLASS-1-READ 12.422 sec. CLASS-10-READ =========================== WRITE ========================== 0.203 sec. LEXICAL-VECTOR-10-WRITE 0.217 sec. LEXICAL-VAR-WRITE 0.218 sec. LEXICAL-VECTOR-1-WRITE 0.310 sec. LEXICAL-CONS-1-WRITE 0.342 sec. LOCAL-SPECIAL-1-WRITE 0.855 sec. STRUCT-10-WRITE 0.855 sec. STRUCT-1-WRITE 0.933 sec. GLOBAL-SPECIAL-1-WRITE 1.150 sec. SYMBOL-PLIST-1-WRITE 1.354 sec. SYMBOL-VALUE-1-WRITE 2.612 sec. LEXICAL-PLIST-1-WRITE 4.527 sec. LEXICAL-CONS-10-WRITE 5.332 sec. SYMBOL-PLIST-10-WRITE 6.793 sec. CLASS-1-WRITE 6.934 sec. CLASS-10-WRITE 8.349 sec. HASH-10-WRITE 8.379 sec. HASH-1-WRITE 9.706 sec. CLOSURE-1-WRITE 11.660 sec. LEXICAL-PLIST-10-WRITE
ちなみに以下は SBCL1.0.40/Win32での結果。
=========================== READ =========================== 0.031 sec. LOCAL-SPECIAL-1-READ 0.031 sec. STRUCT-10-READ 0.046 sec. LEXICAL-PLIST-1-READ 0.046 sec. CLOSURE-1-READ 0.046 sec. LEXICAL-VAR-READ 0.046 sec. GLOBAL-SPECIAL-1-READ 0.046 sec. SYMBOL-PLIST-1-READ 0.047 sec. SYMBOL-PLIST-10-READ 0.047 sec. HASH-1-READ 0.047 sec. STRUCT-1-READ 0.047 sec. HASH-10-READ 0.047 sec. LEXICAL-CONS-1-READ 0.062 sec. LEXICAL-VECTOR-10-READ 0.062 sec. LEXICAL-VECTOR-1-READ 0.078 sec. LEXICAL-PLIST-10-READ 0.155 sec. SYMBOL-VALUE-1-READ 0.883 sec. CLASS-10-READ 0.884 sec. CLASS-1-READ 1.968 sec. LEXICAL-CONS-10-READ ========================== WRITE =========================== 0.031 sec. LEXICAL-VAR-WRITE 0.046 sec. CLOSURE-1-WRITE 0.046 sec. LEXICAL-CONS-1-WRITE 0.077 sec. STRUCT-10-WRITE 0.078 sec. STRUCT-1-WRITE 0.093 sec. LEXICAL-VECTOR-10-WRITE 0.093 sec. LEXICAL-VECTOR-1-WRITE 0.155 sec. LOCAL-SPECIAL-1-WRITE 0.155 sec. GLOBAL-SPECIAL-1-WRITE 0.682 sec. LEXICAL-PLIST-1-WRITE 0.791 sec. SYMBOL-PLIST-1-WRITE 0.915 sec. CLASS-10-WRITE 0.915 sec. HASH-1-WRITE 0.930 sec. CLASS-1-WRITE 0.930 sec. HASH-10-WRITE 2.124 sec. LEXICAL-CONS-10-WRITE 2.837 sec. LEXICAL-PLIST-10-WRITE 3.147 sec. SYMBOL-PLIST-10-WRITE 42.135 sec. SYMBOL-VALUE-1-WRITE
少し前に、少し話題になったメソッド呼び出しのベンチマーク的な奴をCCLで実行したとき、あまりの遅さに心折れそうになった記憶があります。思わず「え・・・私の処理系、遅すぎ・・・!?」と呟くほどに遅かった。マジか、ってくらいSBCL早いなぁ。特にCCLは class の accessor が R/W両方共に遅いようなので、嫌だなー。何か間違ってるのかなー。