Sorry to reply so long after the original mail.<div><br></div><div>If you are looking at these figures, please be very careful</div><div>to understand what each benchmark measures. These</div><div>are microbenchmarks, some of which exercise only</div>
<div>particular features. For example, ctak is a program</div><div>that spends all its time in catch/throw, which is never,</div><div>in practice, a performance bottleneck. Others are</div><div>written in a style that is rarely used any more in Lisp,</div>
<div>doing things old ways. And whatever you do,</div><div>DON'T compute a mean or median; the benchmarks</div><div>are not comparable. Just general advice about</div><div>interpretation.</div><div><br></div><div>-- Dan</div>
<div><br><div class="gmail_quote">On Wed, Apr 13, 2011 at 9:25 PM, Brandon Van Every <span dir="ltr"><<a href="mailto:bvanevery@gmail.com">bvanevery@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<a href="http://trac.clozure.com/ccl/wiki/HowFastAreWe" target="_blank">http://trac.clozure.com/ccl/wiki/HowFastAreWe</a> presents some results<br>
using cl-bench. How to obtain and use cl-bench is documented at<br>
<a href="http://www.cliki.net/Performance_Benchmarks" target="_blank">http://www.cliki.net/Performance_Benchmarks</a> . I added a section on<br>
how to run the benchmarks using a Windows .bat file. Here are my<br>
initial results. I'm running Windows Vista on a Dell Inspiron 1720<br>
laptop with a 2GHz Intel Core 2 Duo processor and 2GB RAM. I left<br>
system tray items, Firefox, and a few text files running in the<br>
background, but I did not bring any of those things to the foreground<br>
while running the tests. This is a machine with a "typical background<br>
load" on it; it has not been specially configured to maximize<br>
benchmarking results.<br>
<br>
The raw hardware specs of my machine are roughly comparable to<br>
"MacBook Pro, Intel Core 2 Duo @2.33 GHz" machine on the Cliki page.<br>
The reference implementation for that benchmark is "SBCL 1.0.2 (binary<br>
download)". Roughly eyeballing it, I find my "Clozure Common Lisp<br>
Version 1.7-dev-r14645M-trunk (WindowsX8632)" benchmark is 2x..5x<br>
slower in many cases. It's also slower than the "OpenMCL Version<br>
1.1-pre-061231 (DarwinX8664)" maybe by 1.5x..4x depending. The<br>
comparison math is difficult as I have to mentally renormalize the<br>
numbers; I will try to work up a comparison to SBCL. SBCL's support<br>
of Windows is in a seemingly endless Alpha, so I'm not sure if I can<br>
actually bench it, but I'll try.<br>
<br>
I am wondering whether the 32-bit version is significantly slower than<br>
the 64-bit version. Hmm, another possibility is I am using the "dev"<br>
version.<br>
<br>
<br>
Cheers,<br>
Brandon Van Every<br>
<br>
<br>
;; -*- lisp -*- Clozure Common Lisp Version 1.7-dev-r14645M-trunk<br>
(WindowsX8632)<br>
;;<br>
;; Implementation *features*:<br>
;; (:PRIMARY-CLASSES :COMMON-LISP :OPENMCL :CCL :CCL-1.2 :CCL-1.3<br>
:CCL-1.4 :CCL-1.5 :CCL-1.6 :CLOZURE :CLOZURE-COMMON-LISP :ANSI-CL<br>
:OPENMCL-UNICODE-STRINGS :OPENMCL-NATIVE-THREADS :OPENMCL-PARTIAL-MOP<br>
:MCL-COMMON-MOP-SUBSET :OPENMCL-MOP-2 :OPENMCL-PRIVATE-HASH-TABLES<br>
:X8632-TARGET :X8632-HOST :X86 :X86-TARGET :X86-HOST :WINDOWS-HOST<br>
:WINDOWS-TARGET :WIN32-TARGET :WIN32-HOST :32-BIT-TARGET :32-BIT-HOST<br>
:WINDOWS :LITTLE-ENDIAN-TARGET :LITTLE-ENDIAN-HOST)<br>
;;<br>
;; Function real user sys consed<br>
;; ----------------------------------------------------------------<br>
;; COMPILER 3.05 2.98 0.00 0<br>
;; LOAD-FASL 0.34 0.28 0.00 0<br>
;; SUM-PERMUTATIONS 5.71 5.43 0.00 0<br>
;; WALK-LIST/SEQ 0.06 0.06 0.00 0<br>
;; WALK-LIST/MESS 0.07 0.05 0.00 0<br>
;; BOYER 13.31 13.09 0.00 0<br>
;; BROWSE 0.81 0.73 0.00 0<br>
;; DDERIV 0.90 0.95 0.00 0<br>
;; DERIV 0.97 0.90 0.00 0<br>
;; DESTRUCTIVE 0.67 0.64 0.00 0<br>
;; DIV2-TEST-1 1.39 1.23 0.00 0<br>
;; DIV2-TEST-2 1.58 1.48 0.00 0<br>
;; FFT 0.29 0.23 0.00 0<br>
;; FRPOLY/FIXNUM 1.03 1.03 0.00 0<br>
;; FRPOLY/BIGNUM 1.21 1.19 0.00 0<br>
;; FRPOLY/FLOAT 1.98 1.86 0.00 0<br>
;; PUZZLE 1.92 1.81 0.00 0<br>
;; TAK 0.82 0.87 0.00 0<br>
;; CTAK 1.35 1.50 0.00 0<br>
;; TRTAK 0.83 0.83 0.00 0<br>
;; TAKL 1.57 1.58 0.00 0<br>
;; STAK 1.60 1.73 0.00 0<br>
;; FPRINT/UGLY 10.48 10.62 0.00 0<br>
;; FPRINT/PRETTY 7.12 7.43 0.00 0<br>
;; TRAVERSE 1.92 1.75 0.00 0<br>
;; TRIANGLE 2.05 2.01 0.00 0<br>
;; RICHARDS 4.51 4.46 0.00 0<br>
;; FACTORIAL 1.44 1.42 0.00 0<br>
;; FIB 0.31 0.31 0.00 0<br>
;; FIB-RATIO 0.14 0.14 0.00 0<br>
;; ACKERMANN 2.62 2.73 0.00 0<br>
;; MANDELBROT/COMPLEX 0.72 0.69 0.00 0<br>
;; MANDELBROT/DFLOAT 0.35 0.39 0.00 0<br>
;; MRG32K3A 14.75 14.71 0.00 0<br>
;; CRC40 44.38 44.15 0.00 0<br>
;; BIGNUM/ELEM-100-1000 2.26 2.31 0.00 0<br>
;; BIGNUM/ELEM-1000-100 16.50 16.16 0.00 0<br>
;; BIGNUM/ELEM-10000-1 18.34 17.83 0.00 0<br>
;; BIGNUM/PARI-100-10 8.12 8.10 0.00 0<br>
;; BIGNUM/PARI-200-5 126.43 125.46 0.00 0<br>
;; PI-DECIMAL/SMALL 106.09 106.36 0.00 0<br>
;; PI-DECIMAL/BIG 414.84 415.35 0.00 0<br>
;; PI-ATAN 7.38 7.11 0.00 0<br>
;; PI-RATIOS 13.75 13.91 0.00 0<br>
;; HASH-STRINGS 11.31 11.05 0.00 0<br>
;; HASH-INTEGERS 4.51 4.34 0.00 0<br>
;; SLURP-LINES 0.01 0.02 0.00 0<br>
;; BOEHM-GC 10.92 10.64 0.00 0<br>
;; DEFLATE-FILE 1.27 1.31 0.00 0<br>
;; 1D-ARRAYS 0.07 0.08 0.00 0<br>
;; 2D-ARRAYS 4.92 4.91 0.00 0<br>
;; 3D-ARRAYS 10.62 10.34 0.00 0<br>
;; BITVECTORS 1.84 1.75 0.00 0<br>
;; BENCH-STRINGS 5.99 5.91 0.00 0<br>
;; fill-strings/adjustable 43.07 42.73 0.00 0<br>
;; STRING-CONCAT 121.96 119.59 0.00 0<br>
;; SEARCH-SEQUENCE 5.07 5.18 0.00 0<br>
;; CLOS/defclass 1.00 0.64 0.00 0<br>
;; CLOS/defmethod 0.29 0.34 0.00 0<br>
;; CLOS/instantiate 6.38 6.47 0.00 0<br>
;; CLOS/simple-instantiate 11.40 11.36 0.00 0<br>
;; CLOS/methodcalls 6.22 5.99 0.00 0<br>
;; CLOS/method+after 3.45 3.48 0.00 0<br>
;; CLOS/complex-methods 1.54 1.43 0.00 0<br>
;; EQL-SPECIALIZED-FIB 1.57 1.62 0.00 0<br>
<br>
("Clozure Common Lisp Version 1.7-dev-r14645M-trunk (WindowsX8632)"<br>
("EQL-SPECIALIZED-FIB" 157/100 1623/1000 0 0) ("CLOS/complex-methods"<br>
309/200 287/200 0 0) ("CLOS/method+after" 1723/500 3479/1000 0 0)<br>
("CLOS/methodcalls" 6223/1000 5991/1000 0 0)<br>
("CLOS/simple-instantiate" 2849/250 11357/1000 0 0)<br>
("CLOS/instantiate" 6381/1000 6473/1000 0 0) ("CLOS/defmethod" 73/250<br>
343/1000 0 0) ("CLOS/defclass" 997/1000 16/25 0 0) ("SEARCH-SEQUENCE"<br>
1013/200 259/50 0 0) ("STRING-CONCAT" 121957/1000 119591/1000 0 0)<br>
("fill-strings/adjustable" 43071/1000 5341/125 0 0) ("BENCH-STRINGS"<br>
599/100 739/125 0 0) ("BITVECTORS" 461/250 1747/1000 0 0) ("3D-ARRAYS"<br>
531/50 5171/500 0 0) ("2D-ARRAYS" 4923/1000 2457/500 0 0) ("1D-ARRAYS"<br>
69/1000 39/500 0 0) ("DEFLATE-FILE" 637/500 131/100 0 0) ("BOEHM-GC"<br>
5461/500 266/25 0 0) ("SLURP-LINES" 11/1000 2/125 0 0)<br>
("HASH-INTEGERS" 4511/1000 542/125 0 0) ("HASH-STRINGS" 1131/100<br>
2209/200 0 0) ("PI-RATIOS" 6873/500 2783/200 0 0) ("PI-ATAN" 7383/1000<br>
7113/1000 0 0) ("PI-DECIMAL/BIG" 10371/25 415353/1000 0 0)<br>
("PI-DECIMAL/SMALL" 53047/500 106361/1000 0 0) ("BIGNUM/PARI-200-5"<br>
15804/125 15682/125 0 0) ("BIGNUM/PARI-100-10" 8121/1000 1012/125 0 0)<br>
("BIGNUM/ELEM-10000-1" 917/50 17831/1000 0 0) ("BIGNUM/ELEM-1000-100"<br>
2062/125 8081/500 0 0) ("BIGNUM/ELEM-100-1000" 451/200 2309/1000 0 0)<br>
("CRC40" 5548/125 44147/1000 0 0) ("MRG32K3A" 7377/500 1471/100 0 0)<br>
("MANDELBROT/DFLOAT" 173/500 39/100 0 0) ("MANDELBROT/COMPLEX" 361/500<br>
86/125 0 0) ("ACKERMANN" 327/125 273/100 0 0) ("FIB-RATIO" 27/200 7/50<br>
0 0) ("FIB" 313/1000 39/125 0 0) ("FACTORIAL" 359/250 71/50 0 0)<br>
("RICHARDS" 4507/1000 2231/500 0 0) ("TRIANGLE" 2049/1000 503/250 0 0)<br>
("TRAVERSE" 1923/1000 1747/1000 0 0) ("FPRINT/PRETTY" 7119/1000 297/40<br>
0 0) ("FPRINT/UGLY" 2621/250 85/8 0 0) ("STAK" 8/5 433/250 0 0)<br>
("TAKL" 157/100 63/40 0 0) ("TRTAK" 827/1000 827/1000 0 0) ("CTAK"<br>
673/500 1497/1000 0 0) ("TAK" 41/50 873/1000 0 0) ("PUZZLE" 1923/1000<br>
181/100 0 0) ("FRPOLY/FLOAT" 1983/1000 232/125 0 0) ("FRPOLY/BIGNUM"<br>
121/100 593/500 0 0) ("FRPOLY/FIXNUM" 103/100 103/100 0 0) ("FFT"<br>
291/1000 117/500 0 0) ("DIV2-TEST-2" 1577/1000 741/500 0 0)<br>
("DIV2-TEST-1" 139/100 1231/1000 0 0) ("DESTRUCTIVE" 167/250 16/25 0<br>
0) ("DERIV" 487/500 113/125 0 0) ("DDERIV" 449/500 119/125 0 0)<br>
("BROWSE" 81/100 733/1000 0 0) ("BOYER" 2663/200 13089/1000 0 0)<br>
("WALK-LIST/MESS" 9/125 47/1000 0 0) ("WALK-LIST/SEQ" 59/1000 31/500 0<br>
0) ("SUM-PERMUTATIONS" 5707/1000 543/100 0 0) ("LOAD-FASL" 337/1000<br>
7/25 0 0) ("COMPILER" 1523/500 2979/1000 0 0))<br>
_______________________________________________<br>
Openmcl-devel mailing list<br>
<a href="mailto:Openmcl-devel@clozure.com">Openmcl-devel@clozure.com</a><br>
<a href="http://clozure.com/mailman/listinfo/openmcl-devel" target="_blank">http://clozure.com/mailman/listinfo/openmcl-devel</a><br>
</blockquote></div><br></div>