早いほうが嬉しいよね

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両方共に遅いようなので、嫌だなー。何か間違ってるのかなー。