From: Brandon V. E. <bva...@gm...> - 2011-04-14 06:27:09
|
I am using SBCL 1.0.47 on Windows Vista. I obtained the binary installer from http://code.google.com/p/sbcl-for-windows/ . I obtained cl-bench from http://www.cliki.net/Performance_Benchmarks and hacked up a .bat file so that I wouldn't have to deal with makefiles or Bourne shells. For SBCL I found that --load and --eval commands would not cause scripts to be executed, so I used --script and created trivial scripts as glue. I found that the compilation script will run and produce .fasl files, with a few warnings. However, do-execute-script.lisp gives many errors. Is this specific to the Windows port of SBCL? I was able to run all the benchmarks just fine with the Windows 32-bit version of Clozure CL, so I am confident that cl-bench is basically ok. Below are my SBCL specific Windows hacks, if you want to try to reproduce. Following that are my errors when running sbcl-execute.lisp, which loads do-execute-script.lisp. Cheers, Brandon Van Every sbcl-compilation.lisp: (load "sysdep/setup-sbcl.lisp") (load "do-compilation-script.lisp") (sb-ext:quit) sbcl-execute.lisp: (load "sysdep/setup-sbcl.lisp") (load "do-execute-script.lisp") (sb-ext:quit) run-sbcl.bat: set lisp="C:\Program Files\Steel Bank Common Lisp\1.0.47\sbcl.exe" set opt=--disable-debugger --no-system-init --no-user-init set optimize=(declaim (optimize (speed 3) (space 1) (safety 0) (debug 0) (compilation-speed 0))) if exist files/optimize.txt goto got_olisp cd files echo %optimize% > optimize.txt for %%i in (*.lisp) do copy optimize.txt+%%i %%i_o rename *.lisp_o *.olisp cd .. :got_olisp rem These do not execute the script. rem %lisp% %opt% --load sysdep/setup-sbcl.lisp --load do-compilation-script.lisp --eval "(sb-ext:quit)" rem %lisp% %opt% --load sysdep/setup-sbcl.lisp --load do-execute-script.lisp --eval "(sb-ext:quit)" %lisp% --script sbcl-compilation.lisp %lisp% --script sbcl-execute.lisp C:\Downloads\cl-bench>"C:\Program Files\Steel Bank Common Lisp\1.0.47\sbcl.exe" --script sbcl-execute.lisp This is experimental prerelease support for the Windows platform: use at your own risk. "Your Kitten of Death awaits!" unhandled UNBOUND-VARIABLE: The variable |→| is unbound. 0: (SB-DEBUG::MAP-BACKTRACE #<CLOSURE (LAMBDA #) {23D96CA5}> :START 0 :COUNT 128) 1: (SB-DEBUG:BACKTRACE 128 #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDERR* {223A5799}>) 2: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<UNBOUND-VARIABLE → {23D956D9}> #<unavailable argument>) 3: (SB-DEBUG::RUN-HOOK SB-EXT:*INVOKE-DEBUGGER-HOOK* #<UNBOUND-VARIABLE → {23D956D9}>) 4: (INVOKE-DEBUGGER #<UNBOUND-VARIABLE → {23D956D9}>) 5: (ERROR UNBOUND-VARIABLE :NAME |→|) 6: (SB-KERNEL::UNBOUND-SYMBOL-ERROR-HANDLER #<unavailable argument> #.(SB-SYS:INT-SAP #X0022F350) #<SB-ALIEN-INTERNALS:ALIEN-VALUE :SAP #X0022F06C :TYPE (* (SB-ALIEN:STRUCT SB-VM::OS-CONTEXT-T -STRUCT))> (16)) 7: (SB-KERNEL:INTERNAL-ERROR #.(SB-SYS:INT-SAP #X0022F06C) #<unavailable argument>) 8: ("foreign function: #x412654") 9: ("foreign function: #x402869") 10: ("foreign function: #x405A23") 11: ("foreign function: #x40D34B") 12: ("foreign function: #x4129B8") 13: (SYMBOL-VALUE |→|) 14: (SB-FASL::LOAD-FASL-GROUP #<SB-SYS:FD-STREAM for "file C:\\Downloads\\cl-bench\\files\\arrays.fasl" {23D8AE49}>) 15: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK)) 16: (SB-FASL::LOAD-AS-FASL #<SB-SYS:FD-STREAM for "file C:\\Downloads\\cl-bench\\files\\arrays.fasl" {23D8AE49}> NIL #<unavailable argument>) 17: ((FLET SB-FASL::LOAD-STREAM) #<SB-SYS:FD-STREAM for "file C:\\Downloads\\cl-bench\\files\\arrays.fasl" {23D8AE49}> T) 18: (LOAD #P"C:/Downloads/cl-bench/files/arrays.fasl" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT) 19: (SB-INT:SIMPLE-EVAL-IN-LEXENV (LOAD (COMPILE-FILE-PATHNAME #P"files/arrays.olisp")) #<NULL-LEXENV>) 20: (EVAL (LOAD (COMPILE-FILE-PATHNAME #P"files/arrays.olisp"))) 21: (SB-FASL::LOAD-AS-SOURCE #<SB-SYS:FD-STREAM for "file C:\\Downloads\\cl-bench\\do-execute-script.lisp" {23D5F5B1}> NIL NIL) 22: ((FLET SB-FASL::LOAD-STREAM) #<SB-SYS:FD-STREAM for "file C:\\Downloads\\cl-bench\\do-execute-script.lisp" {23D5F5B1}> NIL) 23: (LOAD "do-execute-script.lisp" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT) 24: (SB-INT:SIMPLE-EVAL-IN-LEXENV (LOAD "do-execute-script.lisp") #<NULL-LEXENV>) 25: (EVAL (LOAD "do-execute-script.lisp")) 26: (SB-FASL::LOAD-AS-SOURCE #<SB-SYS:FD-STREAM for "file C:\\Downloads\\cl-bench\\sbcl-execute.lisp" {23CDE7D9}> NIL NIL) 27: ((FLET SB-FASL::LOAD-STREAM) #<SB-SYS:FD-STREAM for "file C:\\Downloads\\cl-bench\\sbcl-execute.lisp" {23CDE7D9}> NIL) 28: (LOAD #<SB-SYS:FD-STREAM for "file C:\\Downloads\\cl-bench\\sbcl-execute.lisp" {23CDE7D9}> :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT) 29: (SB-IMPL::PROCESS-SCRIPT "sbcl-execute.lisp") 30: (SB-IMPL::TOPLEVEL-INIT) 31: ((LABELS SB-IMPL::RESTART-LISP)) 32: ("foreign function: #x412654") 33: ("foreign function: #x40B4E9") unhandled condition in --disable-debugger mode, quitting C:\Downloads\cl-bench> |
From: Roman M. <rom...@gm...> - 2011-04-14 09:46:17
|
This is a known issue with SBCL for Windows, I faced it myself several months ago. In case somebody wants these (and other Windows issues) to be fixed, the first step is to dig a bit and prepare the SBCL-only test case (in other words, find the broken SBCL functionality and show why do you think it is broken). Report your findings to LP, and wait until somebody is ready to work on it. Speaking for myself, I often try to fix SBCL bugs "just for fun", as well as other people do, so the probability to get the fix in several weeks after the report is high. Regards, Roman |
From: Roman M. <rom...@gm...> - 2011-04-15 12:51:03
Attachments:
olisp.zip
|
;; -*- lisp -*- SBCL 1.0.46 ;; ;; Implementation *features*: ;; (:ANSI-CL :COMMON-LISP :SBCL :SB-DOC :SB-TEST :SB-LDB :SB-PACKAGE-LOCKS ;; :SB-UNICODE :SB-EVAL :SB-SOURCE-LOCATIONS :IEEE-FLOATING-POINT :X86 :WIN32 ;; :GENCGC :STACK-GROWS-DOWNWARD-NOT-UPWARD :C-STACK-IS-CONTROL-STACK ;; :COMPARE-AND-SWAP-VOPS :UNWIND-TO-FRAME-AND-CALL-VOP ;; :RAW-INSTANCE-INIT-VOPS :STACK-ALLOCATABLE-CLOSURES ;; :STACK-ALLOCATABLE-VECTORS :STACK-ALLOCATABLE-LISTS ;; :STACK-ALLOCATABLE-FIXED-OBJECTS :ALIEN-CALLBACKS :CYCLE-COUNTER ;; :INLINE-CONSTANTS :MEMORY-BARRIER-VOPS :LINKAGE-TABLE :OS-PROVIDES-DLOPEN ;; :OS-PROVIDES-PUTWC) ;; ;; Function real user sys consed ;; ---------------------------------------------------------------- ;; COMPILER 4.86 1.40 0.00 0 ;; LOAD-FASL 0.18 0.17 0.00 0 ;; SUM-PERMUTATIONS 1.03 1.01 0.00 0 ;; WALK-LIST/SEQ 0.01 0.02 0.00 0 ;; WALK-LIST/MESS 0.01 0.00 0.00 0 ;; BOYER 2.39 2.37 0.00 0 ;; BROWSE 0.88 0.87 0.00 0 ;; DDERIV 0.84 0.84 0.00 0 ;; DERIV 0.86 0.83 0.00 0 ;; DESTRUCTIVE 0.86 0.87 0.00 0 ;; DIV2-TEST-1 0.87 0.86 0.00 0 ;; DIV2-TEST-2 0.95 0.95 0.00 0 ;; FFT 0.03 0.03 0.00 0 ;; FRPOLY/FIXNUM 0.88 0.87 0.00 0 ;; FRPOLY/BIGNUM 0.92 0.92 0.00 0 ;; FRPOLY/FLOAT 0.94 0.94 0.00 0 ;; PUZZLE 0.13 0.14 0.00 0 ;; TAK 0.12 0.12 0.00 0 ;; CTAK 1.95 1.95 0.00 0 ;; TRTAK 0.12 0.12 0.00 0 ;; TAKL 0.22 0.22 0.00 0 ;; STAK 0.26 0.26 0.00 0 ;; FPRINT/UGLY 1.01 1.00 0.00 0 ;; FPRINT/PRETTY 1.82 1.79 0.00 0 ;; TRAVERSE 0.36 0.37 0.00 0 ;; TRIANGLE 0.29 0.30 0.00 0 ;; RICHARDS 0.26 0.26 0.00 0 ;; FACTORIAL 0.89 0.89 0.00 0 ;; FIB 0.13 0.13 0.00 0 ;; FIB-RATIO 0.09 0.08 0.00 0 ;; ACKERMANN 1.74 1.75 0.00 0 ;; MANDELBROT/COMPLEX 0.93 0.92 0.00 0 ;; MANDELBROT/DFLOAT 0.01 0.01 0.00 0 ;; MRG32K3A 0.45 0.47 0.00 0 ;; CRC40 6.02 5.99 0.00 0 ;; BIGNUM/ELEM-100-1000 0.35 0.34 0.00 0 ;; BIGNUM/ELEM-1000-100 0.38 0.39 0.00 0 ;; BIGNUM/ELEM-10000-1 0.24 0.23 0.00 0 ;; BIGNUM/PARI-100-10 0.02 0.02 0.00 0 ;; BIGNUM/PARI-200-5 0.19 0.19 0.00 0 ;; PI-DECIMAL/SMALL 1.36 1.36 0.00 0 ;; PI-DECIMAL/BIG 1.44 1.43 0.00 0 ;; PI-ATAN 1.20 1.20 0.00 0 ;; PI-RATIOS 1.68 1.67 0.00 0 ;; HASH-STRINGS 0.56 0.58 0.00 0 ;; HASH-INTEGERS 0.67 0.67 0.00 0 ;; SLURP-LINES 0.004 0.00 0.00 0 ;; BOEHM-GC 0.85 0.86 0.00 0 ;; DEFLATE-FILE 0.18 0.19 0.00 0 ;; 1D-ARRAYS 0.02 0.02 0.00 0 ;; 2D-ARRAYS 0.67 0.67 0.00 0 ;; 3D-ARRAYS 1.60 1.59 0.00 0 ;; BITVECTORS 0.85 0.86 0.00 0 ;; BENCH-STRINGS 0.41 0.41 0.00 0 ;; fill-strings/adjustable 9.81 9.78 0.00 0 ;; STRING-CONCAT 55.45 55.33 0.00 0 ;; SEARCH-SEQUENCE 0.07 0.08 0.00 0 ;; CLOS/defclass 4.51 2.36 0.00 0 ;; CLOS/defmethod 8.69 8.66 0.00 0 ;; CLOS/instantiate 0.99 0.98 0.00 0 ;; CLOS/simple-instantiate 0.29 0.30 0.00 0 ;; CLOS/methodcalls 4.74 4.73 0.00 0 ;; CLOS/method+after 4.62 4.60 0.00 0 ;; CLOS/complex-methods 1.16 1.20 0.00 0 ;; EQL-SPECIALIZED-FIB 0.14 0.16 0.00 0 ("SBCL 1.0.46" ("EQL-SPECIALIZED-FIB" 18/125 39/250 0 0) ("CLOS/complex-methods" 579/500 1201/1000 0 0) ("CLOS/method+after" 4619/1000 2301/500 0 0) ("CLOS/methodcalls" 237/50 2363/500 0 0) ("CLOS/simple-instantiate" 36/125 37/125 0 0) ("CLOS/instantiate" 497/500 983/1000 0 0) ("CLOS/defmethod" 1086/125 4329/500 0 0) ("CLOS/defclass" 564/125 471/200 0 0) ("SEARCH-SEQUENCE" 7/100 39/500 0 0) ("STRING-CONCAT" 55449/1000 27667/500 0 0) ("fill-strings/adjustable" 9811/1000 9781/1000 0 0) ("BENCH-STRINGS" 103/250 81/200 0 0) ("BITVECTORS" 106/125 429/500 0 0) ("3D-ARRAYS" 319/200 1591/1000 0 0) ("2D-ARRAYS" 133/200 671/1000 0 0) ("1D-ARRAYS" 3/125 2/125 0 0) ("DEFLATE-FILE" 23/125 187/1000 0 0) ("BOEHM-GC" 849/1000 429/500 0 0) ("SLURP-LINES" 1/250 0 0 0) ("HASH-INTEGERS" 669/1000 67/100 0 0) ("HASH-STRINGS" 279/500 289/500 0 0) ("PI-RATIOS" 421/250 1669/1000 0 0) ("PI-ATAN" 601/500 1201/1000 0 0) ("PI-DECIMAL/BIG" 36/25 287/200 0 0) ("PI-DECIMAL/SMALL" 339/250 1357/1000 0 0) ("BIGNUM/PARI-200-5" 24/125 187/1000 0 0) ("BIGNUM/PARI-100-10" 21/1000 2/125 0 0) ("BIGNUM/ELEM-10000-1" 61/250 117/500 0 0) ("BIGNUM/ELEM-1000-100" 381/1000 39/100 0 0) ("BIGNUM/ELEM-100-1000" 71/200 343/1000 0 0) ("CRC40" 6017/1000 5991/1000 0 0) ("MRG32K3A" 451/1000 117/250 0 0) ("MANDELBROT/DFLOAT" 1/100 3/200 0 0) ("MANDELBROT/COMPLEX" 463/500 23/25 0 0) ("ACKERMANN" 347/200 1747/1000 0 0) ("FIB-RATIO" 19/200 39/500 0 0) ("FIB" 1/8 1/8 0 0) ("FACTORIAL" 887/1000 889/1000 0 0) ("RICHARDS" 33/125 53/200 0 0) ("TRIANGLE" 289/1000 297/1000 0 0) ("TRAVERSE" 363/1000 187/500 0 0) ("FPRINT/PRETTY" 363/200 897/500 0 0) ("FPRINT/UGLY" 203/200 499/500 0 0) ("STAK" 259/1000 53/200 0 0) ("TAKL" 11/50 109/500 0 0) ("TRTAK" 3/25 31/250 0 0) ("CTAK" 39/20 39/20 0 0) ("TAK" 117/1000 31/250 0 0) ("PUZZLE" 133/1000 7/50 0 0) ("FRPOLY/FLOAT" 943/1000 117/125 0 0) ("FRPOLY/BIGNUM" 921/1000 23/25 0 0) ("FRPOLY/FIXNUM" 7/8 873/1000 0 0) ("FFT" 27/1000 31/1000 0 0) ("DIV2-TEST-2" 19/20 951/1000 0 0) ("DIV2-TEST-1" 871/1000 429/500 0 0) ("DESTRUCTIVE" 108/125 873/1000 0 0) ("DERIV" 107/125 827/1000 0 0) ("DDERIV" 421/500 421/500 0 0) ("BROWSE" 881/1000 873/1000 0 0) ("BOYER" 1197/500 2371/1000 0 0) ("WALK-LIST/MESS" 7/500 0 0 0) ("WALK-LIST/SEQ" 7/1000 2/125 0 0) ("SUM-PERMUTATIONS" 1027/1000 507/500 0 0) ("LOAD-FASL" 9/50 171/1000 0 0) ("COMPILER" 973/200 351/250 0 0)) |
From: Brandon V. E. <bva...@gm...> - 2011-04-15 15:12:00
|
On Fri, Apr 15, 2011 at 8:50 AM, Roman Marynchak <rom...@gm...> wrote: > Hi Brandon, > I have investigated this more, and found that SBCL 1.0.46 runs all tests > fine on Windows. The problems you are facing are: > 1. Mistakes in BAT file (it corrupts OLISP files by adding SUB symbol at the > end, which triggers that '->' variable error). > 2. Make sure that C:/tmp directory exists, by default it doesn't. > 3. Pass --dynamic-space-size 1000 in SBCL options, some tests need a lot of > memory. Thanks for your effort! Using --dynamic-space-size 1000 I get farther, but the heap is exhausted in STRING-CONCAT. That's a 1GB heap reserve, and it dies on a 33MB request, so that does not seem reasonable. I'm going to theorize it's a memory leak. Any other thought on that? This is with SBCL 1.0.47, so I will find 1.0.46 and see if the problem persists. Cheers, Brandon Van Every === running #<benchmark STRING-CONCAT for 1 runs> Heap exhausted during allocation: 13275136 bytes available, 33030160 requested. Gen StaPg UbSta LaSta LUbSt Boxed Unboxed LB LUB !move Alloc Waste Trig WP GCs Mem-age 0: 6655 0 15705 0 8 0 8064 0 0 33010352 52560 2000 000 0 0 0.0000 1: 6652 6637 0 0 6 1 0 33710 33714 138069536 35296 200 0000 2 0 0.5000 2: 6631 6628 0 0 6 1 0 49840 33714 204129960 43352 200 0000 2 0 0.5000 3: 0 6625 0 0 2 1 0 25645 25647 105034672 19536 200 0000 0 0 0.0000 4: 0 0 0 0 0 0 0 0 0 0 0 2000 000 0 0 0.0000 5: 0 0 0 0 447 130 264 387 18 4962592 67296 6962 592 694 56 0.0000 6: 0 0 0 0 5477 1143 0 0 0 27115520 0 2000 000 5404 0 0.0000 Total bytes allocated = 512322632 Dynamic-space-size bytes = 536870912 GC control variables: *GC-INHIBIT* = false *GC-PENDING* = true unhandled SB-KERNEL::HEAP-EXHAUSTED-ERROR: Heap exhausted (no more space for allocation). There are still 13275136 bytes available; the request was for 33030160 bytes. PROCEED WITH CAUTION. 0: (SB-DEBUG::MAP-BACKTRACE #<CLOSURE (LAMBDA #) {23CFD0D5}> :START 0 :COUNT 128) 1: (SB-DEBUG:BACKTRACE 128 #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDERR* {223A5799}>) 2: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SB-KERNEL::HEAP-EXHAUSTED-ERROR {23CDD029}> #<unavailable argument>) 3: (SB-DEBUG::RUN-HOOK SB-EXT:*INVOKE-DEBUGGER-HOOK* #<SB-KERNEL::HEAP-EXHAUSTED-ERROR {23CDD029}>) 4: (INVOKE-DEBUGGER #<SB-KERNEL::HEAP-EXHAUSTED-ERROR {23CDD029}>) 5: (ERROR #<SB-KERNEL::HEAP-EXHAUSTED-ERROR {23CDD029}>) 6: (SB-KERNEL::HEAP-EXHAUSTED-ERROR 13275136 33030160) 7: ("foreign function: #x412654") 8: ("foreign function: #x402869") 9: ("foreign function: #x40E6C6") 10: ("foreign function: #x40E815") 11: ("foreign function: #x40ECB1") 12: ("foreign function: #x4122B0") 13: ("foreign function: #x41291E") 14: (SB-IMPL::STRING-SOUT #<SB-IMPL::STRING-OUTPUT-STREAM {23CFA1A1}> "hi there!" #<unavailable argument> 9) 15: (SB-IMPL::%WRITE-STRING "hi there!" #<SB-IMPL::STRING-OUTPUT-STREAM {23CFA1A1}> 0 9) 16: (SB-IMPL::ANSI-STREAM-WRITE-SEQUENCE "hi there!" #<SB-IMPL::STRING-OUTPUT-STREAM {23CFA1A1}> 0 NIL) 17: (WRITE-SEQUENCE "hi there!" #<SB-IMPL::STRING-OUTPUT-STREAM {23CFA1A1}> :START 0 :END NIL) 18: (CL-BENCH.ARRAYS:BENCH-STRING-CONCAT #<unavailable lambda list>) 19: (GENERIC-BENCH-TIME CL-BENCH.ARRAYS:BENCH-STRING-CONCAT 1 #<unavailable argument>) 20: (BENCH-REPORT CL-BENCH.ARRAYS:BENCH-STRING-CONCAT "STRING-CONCAT" 1) 21: (RUN-BENCHMARKS) 22: (SB-INT:SIMPLE-EVAL-IN-LEXENV (RUN-BENCHMARKS) #<NULL-LEXENV>) 23: (EVAL (RUN-BENCHMARKS)) 24: (SB-FASL::LOAD-AS-SOURCE #<SB-SYS:FD-STREAM for "file C:\\devel\\cl-bench\\do-execute-script.lisp" {23D5F391}> NIL NIL) 25: ((FLET SB-FASL::LOAD-STREAM) #<SB-SYS:FD-STREAM for "file C:\\devel\\cl-bench\\do-execute-script.lisp" {23D5F391}> NIL) 26: (LOAD "do-execute-script.lisp" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT) 27: (SB-INT:SIMPLE-EVAL-IN-LEXENV (LOAD "do-execute-script.lisp") #<NULL-LEXENV>) 28: (EVAL (LOAD "do-execute-script.lisp")) 29: (SB-FASL::LOAD-AS-SOURCE #<SB-SYS:FD-STREAM for "file C:\\devel\\cl-bench\\sbcl-execute.lisp" {23CDE7C9}> NIL NIL) 30: ((FLET SB-FASL::LOAD-STREAM) #<SB-SYS:FD-STREAM for "file C:\\devel\\cl-bench\\sbcl-execute.lisp" {23CDE7C9}> NIL) 31: (LOAD #<SB-SYS:FD-STREAM for "file C:\\devel\\cl-bench\\sbcl-execute.lisp" {23CDE7C9}> :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT) 32: (SB-IMPL::PROCESS-SCRIPT "sbcl-execute.lisp") 33: (SB-IMPL::TOPLEVEL-INIT) 34: ((LABELS SB-IMPL::RESTART-LISP)) 35: ("foreign function: #x412654") 36: ("foreign function: #x40B4E9") unhandled condition in --disable-debugger mode, quitting C:\devel\cl-bench> |
From: Roman M. <rom...@gm...> - 2011-04-15 15:28:16
|
These lines in the report Total bytes allocated = 512322632 Dynamic-space-size bytes = 536870912 make me think that the option was ignored (it allocated standard 512M instead of 1G). Did you use my bat file? Try to set to 100000 and make sure that it fails to start (so it considers the option). Cheers, Roman 2011/4/15 Brandon Van Every <bva...@gm...> > On Fri, Apr 15, 2011 at 8:50 AM, Roman Marynchak > <rom...@gm...> wrote: > > Hi Brandon, > > I have investigated this more, and found that SBCL 1.0.46 runs all tests > > fine on Windows. The problems you are facing are: > > 1. Mistakes in BAT file (it corrupts OLISP files by adding SUB symbol at > the > > end, which triggers that '->' variable error). > > 2. Make sure that C:/tmp directory exists, by default it doesn't. > > 3. Pass --dynamic-space-size 1000 in SBCL options, some tests need a lot > of > > memory. > > Thanks for your effort! Using --dynamic-space-size 1000 I get > farther, but the heap is exhausted in STRING-CONCAT. That's a 1GB > heap reserve, and it dies on a 33MB request, so that does not seem > reasonable. I'm going to theorize it's a memory leak. Any other > thought on that? This is with SBCL 1.0.47, so I will find 1.0.46 and > see if the problem persists. > > > Cheers, > Brandon Van Every > > > === running #<benchmark STRING-CONCAT for 1 runs> > Heap exhausted during allocation: 13275136 bytes available, 33030160 > requested. > Gen StaPg UbSta LaSta LUbSt Boxed Unboxed LB LUB !move Alloc Waste > Trig > WP GCs Mem-age > 0: 6655 0 15705 0 8 0 8064 0 0 33010352 52560 > 2000 > 000 0 0 0.0000 > 1: 6652 6637 0 0 6 1 0 33710 33714 138069536 35296 > 200 > 0000 2 0 0.5000 > 2: 6631 6628 0 0 6 1 0 49840 33714 204129960 43352 > 200 > 0000 2 0 0.5000 > 3: 0 6625 0 0 2 1 0 25645 25647 105034672 19536 > 200 > 0000 0 0 0.0000 > 4: 0 0 0 0 0 0 0 0 0 0 0 > 2000 > 000 0 0 0.0000 > 5: 0 0 0 0 447 130 264 387 18 4962592 67296 > 6962 > 592 694 56 0.0000 > 6: 0 0 0 0 5477 1143 0 0 0 27115520 0 > 2000 > 000 5404 0 0.0000 > Total bytes allocated = 512322632 > Dynamic-space-size bytes = 536870912 > GC control variables: > *GC-INHIBIT* = false > *GC-PENDING* = true > unhandled SB-KERNEL::HEAP-EXHAUSTED-ERROR: > Heap exhausted (no more space for allocation). > There are still 13275136 bytes available; the request was for 33030160 > bytes. > > PROCEED WITH CAUTION. > > 0: (SB-DEBUG::MAP-BACKTRACE > #<CLOSURE (LAMBDA #) {23CFD0D5}> > :START > 0 > :COUNT > 128) > 1: (SB-DEBUG:BACKTRACE 128 #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDERR* > {223A5799}>) > > 2: (SB-DEBUG::DEBUGGER-DISABLED-HOOK > #<SB-KERNEL::HEAP-EXHAUSTED-ERROR {23CDD029}> > #<unavailable argument>) > 3: (SB-DEBUG::RUN-HOOK > SB-EXT:*INVOKE-DEBUGGER-HOOK* > #<SB-KERNEL::HEAP-EXHAUSTED-ERROR {23CDD029}>) > 4: (INVOKE-DEBUGGER #<SB-KERNEL::HEAP-EXHAUSTED-ERROR {23CDD029}>) > 5: (ERROR #<SB-KERNEL::HEAP-EXHAUSTED-ERROR {23CDD029}>) > 6: (SB-KERNEL::HEAP-EXHAUSTED-ERROR 13275136 33030160) > 7: ("foreign function: #x412654") > 8: ("foreign function: #x402869") > 9: ("foreign function: #x40E6C6") > 10: ("foreign function: #x40E815") > 11: ("foreign function: #x40ECB1") > 12: ("foreign function: #x4122B0") > 13: ("foreign function: #x41291E") > 14: (SB-IMPL::STRING-SOUT > #<SB-IMPL::STRING-OUTPUT-STREAM {23CFA1A1}> > "hi there!" > #<unavailable argument> > 9) > 15: (SB-IMPL::%WRITE-STRING > "hi there!" > #<SB-IMPL::STRING-OUTPUT-STREAM {23CFA1A1}> > 0 > 9) > 16: (SB-IMPL::ANSI-STREAM-WRITE-SEQUENCE > "hi there!" > #<SB-IMPL::STRING-OUTPUT-STREAM {23CFA1A1}> > 0 > NIL) > 17: (WRITE-SEQUENCE > "hi there!" > #<SB-IMPL::STRING-OUTPUT-STREAM {23CFA1A1}> > :START > 0 > :END > NIL) > 18: (CL-BENCH.ARRAYS:BENCH-STRING-CONCAT #<unavailable lambda list>) > 19: (GENERIC-BENCH-TIME > CL-BENCH.ARRAYS:BENCH-STRING-CONCAT > 1 > #<unavailable argument>) > 20: (BENCH-REPORT CL-BENCH.ARRAYS:BENCH-STRING-CONCAT "STRING-CONCAT" 1) > 21: (RUN-BENCHMARKS) > 22: (SB-INT:SIMPLE-EVAL-IN-LEXENV (RUN-BENCHMARKS) #<NULL-LEXENV>) > 23: (EVAL (RUN-BENCHMARKS)) > 24: (SB-FASL::LOAD-AS-SOURCE > #<SB-SYS:FD-STREAM for "file > C:\\devel\\cl-bench\\do-execute-script.lisp" > {23D5F391}> > NIL > NIL) > 25: ((FLET SB-FASL::LOAD-STREAM) > #<SB-SYS:FD-STREAM for "file > C:\\devel\\cl-bench\\do-execute-script.lisp" > {23D5F391}> > NIL) > 26: (LOAD > "do-execute-script.lisp" > :VERBOSE > NIL > :PRINT > NIL > :IF-DOES-NOT-EXIST > T > :EXTERNAL-FORMAT > :DEFAULT) > 27: (SB-INT:SIMPLE-EVAL-IN-LEXENV > (LOAD "do-execute-script.lisp") > #<NULL-LEXENV>) > 28: (EVAL (LOAD "do-execute-script.lisp")) > 29: (SB-FASL::LOAD-AS-SOURCE > #<SB-SYS:FD-STREAM for "file C:\\devel\\cl-bench\\sbcl-execute.lisp" > {23CDE7C9}> > NIL > NIL) > 30: ((FLET SB-FASL::LOAD-STREAM) > #<SB-SYS:FD-STREAM for "file C:\\devel\\cl-bench\\sbcl-execute.lisp" > {23CDE7C9}> > NIL) > 31: (LOAD > #<SB-SYS:FD-STREAM for "file C:\\devel\\cl-bench\\sbcl-execute.lisp" > {23CDE7C9}> > :VERBOSE > NIL > :PRINT > NIL > :IF-DOES-NOT-EXIST > T > :EXTERNAL-FORMAT > :DEFAULT) > 32: (SB-IMPL::PROCESS-SCRIPT "sbcl-execute.lisp") > 33: (SB-IMPL::TOPLEVEL-INIT) > 34: ((LABELS SB-IMPL::RESTART-LISP)) > 35: ("foreign function: #x412654") > 36: ("foreign function: #x40B4E9") > > unhandled condition in --disable-debugger mode, quitting > > C:\devel\cl-bench> > > > ------------------------------------------------------------------------------ > Benefiting from Server Virtualization: Beyond Initial Workload > Consolidation -- Increasing the use of server virtualization is a top > priority.Virtualization can reduce costs, simplify management, and improve > application availability and disaster protection. Learn more about boosting > the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev > _______________________________________________ > Sbcl-help mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-help > |
From: Brandon V. E. <bva...@gm...> - 2011-04-15 16:01:26
|
On Fri, Apr 15, 2011 at 11:28 AM, Roman Marynchak <rom...@gm...> wrote: > These lines in the report > Total bytes allocated = 512322632 > Dynamic-space-size bytes = 536870912 > make me think that the option was ignored (it allocated standard 512M > instead of 1G). Did you use my bat file? I used mine. Ah bugger, I thought I was so smart. I removed %opt% because my previous options were redundant to --script. So --dynamic-space-size 1000 wasn't passed. 1.0.47 runs fine now, although I have to say, a 1GB heap reserve is rather piggish. BTW did you really mean you ran 1.0.46? I just tried running that, and it died ignobly. It had uncertainty about optimizing various argument types. Also, installing 1.0.46 ruined 1.0.47. Any time I try to run 1.0.47 using an explicit path, it complains "fatal error encountered in SBCL pid 5804: can't load .core for different runtime, sorry". It seems they are not designed to be run side by side, i.e. probably a registry conflict. Uninstalling old SBCL versions and running a repair on the 1.0.47 installation solved the problem. Cheers, Brandon Van Every |
From: Roman M. <rom...@gm...> - 2011-04-15 16:14:00
|
> > > > BTW did you really mean you ran 1.0.46? I just tried running that, > and it died ignobly. It had uncertainty about optimizing various > argument types. > > These messages are hints for the developers about the optimizations possibilities, not errors. > Also, installing 1.0.46 ruined 1.0.47. Any time I try to run 1.0.47 > using an explicit path, it complains "fatal error encountered in SBCL > pid 5804: can't load .core for different runtime, sorry". It seems > they are not designed to be run side by side, i.e. probably a registry > conflict. Uninstalling old SBCL versions and running a repair on the > 1.0.47 installation solved the problem. > > > Adjust SBCL_HOME env. variable for the actual version you are using. So, how fast is SBCL on Windows? I believe that the performance is decent. Regards, Roman |