[Openmcl-devel] I knew format was slow, but this slow ??
Sven Van Caekenberghe
sven at beta9.be
Thu Oct 2 07:06:15 PDT 2003
I knew format was slow, but can it be really this slow ??
Note that the difference between 10 and 100 iterations in the first
loop results not in a 10-fold difference in time, but a 100-fold
difference - so its gets exponentially slower !
The write-string version is almost a 1000 times faster, is this still
normal ? Also note the extreme differences in memory allocation.
? (time (with-open-file (out #p"home:Desktop;test.txt" :direction
:output :if-exists :overwrite)
(dotimes (i 10)
(dotimes (j 128)
(format out "01234567")))))
(WITH-OPEN-FILE (OUT #4P"home:Desktop;test.txt" :DIRECTION :OUTPUT
:IF-EXISTS
:OVERWRITE)
(DOTIMES (I 10)
(DOTIMES (J 128)
(FORMAT OUT "01234567")))) took 740 milliseconds (0.740 seconds)
to run.
Of that, 710 milliseconds (0.710 seconds) were spent in user mode
0 milliseconds (0.000 seconds) were spent in system mode
30 milliseconds (0.030 seconds) were spent executing other OS
processes.
62,224 bytes of memory allocated.
NIL
? (time (with-open-file (out #p"home:Desktop;test.txt" :direction
:output :if-exists :overwrite)
(dotimes (i 100)
(dotimes (j 128)
(format out "01234567")))))
(WITH-OPEN-FILE (OUT #4P"home:Desktop;test.txt" :DIRECTION :OUTPUT
:IF-EXISTS
:OVERWRITE)
(DOTIMES (I 100)
(DOTIMES (J 128)
(FORMAT OUT
"01234567")))) took 80,138 milliseconds (80.138 seconds)
to run.
Of that, 67,330 milliseconds (67.330 seconds) were spent in user mode
0 milliseconds (0.000 seconds) were spent in system mode
12,808 milliseconds (12.808 seconds) were spent executing
other OS processes.
3,345 milliseconds (3.345 seconds) was spent in GC.
93,340,544 bytes of memory allocated.
NIL
? (time (with-open-file (out #p"home:Desktop;test.txt" :direction
:output :if-exists :overwrite)
(dotimes (i 100)
(dotimes (j 128)
(write-string "01234567" out)))))
(WITH-OPEN-FILE (OUT #4P"home:Desktop;test.txt" :DIRECTION :OUTPUT
:IF-EXISTS
:OVERWRITE)
(DOTIMES (I 100)
(DOTIMES (J 128)
(WRITE-STRING "01234567"
OUT)))) took 90 milliseconds (0.090 seconds) to run.
Of that, 90 milliseconds (0.090 seconds) were spent in user mode
0 milliseconds (0.000 seconds) were spent in system mode
776 bytes of memory allocated.
Sven
_______________________________________________
Openmcl-devel mailing list
Openmcl-devel at clozure.com
http://clozure.com/cgi-bin/mailman/listinfo/openmcl-devel
More information about the Openmcl-devel
mailing list