[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: commonloops.pa@Xerox.COM
- Subject: carwash simulator
- From: beppe%delphi%mcvax@uunet.UU.NET (Giuseppe Attardi)
- Date: Thu, 1 Dec 88 18:50:48 +0100
- Redistributed: commonloops.pa
I am puzzled by the claims in your message on November 16th:
First (to keep everyone reading) here are my results w/1000 cars:
Machine: Symbolics 3650
(best of 4 trials - 'cept for the original :-)
---code--- ---total time (page&gc time)---
original clos port: 61.65 min (13.33 min)
below (modified): 28.25 sec (1.6 sec) <- ~130 times speedup
no methods in the clos-simulation part (only the carwash part):
27.65 sec (1.7 sec)
I have run both the original version and your modified version on a
SUN4 with DELPHI Common LISP, and the difference is not so
significant (no more than 30% faster then the original).
This is exactly what I expected, given the kind of
changes that you report:
(1) cut out much needless consing.
(2) cut out most refs to global vars.
(3) turned EVALs into APPLYs.
(4) turned a few complex-recursive functions into iterative ones.
(5) reorganized style/syntax (mostly for my own sake)
I can see that item (1) allows you to save 13 min. of gc time.
Still I can't see where you are saving the remaining 48 minutes.
By the way, I am not sure whether it is proper to run this benchmark
with 1000 cars, since size of memory and gc time become dominant
factors in the execution time.
If you confirm your results, I would be quite curious to know which
one of these items contributes to the ~130 fold speedup.