1 Some Comparisons of Algebraic Manipulation
12 In the following we use Maxima to refer to the Common Lisp port of
13 Macsyma by Bill Schelter, based on the original version of Macsyma at
14 MIT, and distributed by the National Energy Software Center. Other
15 versions are referred to by the name Macsyma.
17 Times are elapsed (with cpu times in parentheses for machines where
18 this was substantially different, e.g. Suns). By elapsed time I mean
19 wall clock time. (Where this differs from cpu time the main culprit
20 was page faults). All times were the average of several cycles to
21 ensure garbage collection information was included. The large problem
22 garbage collected a number of times on the small Sun, and so only one
23 computation was performed. All machines were run with only one user
24 running at normal priority. (Except for the 3/160, the 11/780, and
25 DEC-20 where there were several other rather idle users). All
26 machines except the 3/50 had adequate memory to prevent page faults
27 from being a major problem. The TI explorer is NOT the processor on a
28 chip, but a machine several years old.
31 Machine Time in Seconds
33 Problem: Factor((x+y+z)^10) Factor((x+y+z)^20)
35 Maxima (Common Lisp version by Bill Schelter)
38 TI Explorer(I) 5.3 28.2
39 Sun3/260 3.08(cpu 3.08) 19.33(cpu 19.5)
40 Symbolics 3640 5.6 21.3
42 Sun3/160 7.0 (cpu 7.0) 33.3 (cpu 33.0)
43 Sun3/50 27.3 (cpu 9.7) 243.0 (cpu 63.7)
44 PC Limited386(6meg) 9.0 (cpu 9.0) 42.5
46 Some other versions of Macsyma. Version details below.
48 Dec20(maclisp) (cpu 6.5) problem too big
49 Vax/11/780(franz) 27.0 (cpu 17.1) did not try
50 Sun(3/160)(franz) 14.1 (cpu 14.1) forgotten result
52 Notes: The times all are elapsed, and INCLUDE time for garbage
53 collection. On the lisp machines ONLY ephemeral garbage collection
54 was included. But generally speaking their ephemeral garbage
55 collectors are fairly effective at picking up such consing.
57 The small Sun suffered greatly from page faults: for example the
58 actual run time was 8.05 for the first one, and with a garbage
59 collection every two or three times costing 5 seconds. The rest of
60 the time was spent in page faults, particularly costly during the
63 The Sun-3/50 had 4meg of memory and shoe box disk. We have included
64 an appendix for the 3/50 to show the vagaries of the timings due to
69 The Maxima in all cases was a full version including Lisp compiler and
70 the Maxima to Lisp translation facility. Approximately 120 files were
71 loaded. On the very small machine reducing the size of the system,
72 would probably prove beneficial. The Franz and Maclisp versions
73 include fewer files. For small machines this is probably beneficial.
75 DETAILS CONCERNING SOFTWARE:
77 The Maxima code was the Common Lisp version by Bill Schelter at
78 University of Texas, and is distributed by National Energy Software
79 Foundation at Argonne Illinois. It is based on the release from MIT
80 to the DOE of the original MACSYMA. It has been modified by the
81 author to run in Common Lisp. A number of other enhancements are
82 included, including some for performance. It is in use at a large
83 number of institutions.
85 KCL (Kyoto Common Lisp the Common Lisp we used on the Suns) is
86 available free of charge by anonymous ftp from University of Texas on
87 rascal.ics.utexas.edu [128.83.144.1] Login as ftp, with no password.
88 See the message kcl.broadcast in the ftp directory for instructions.
89 You must mail in a copy of the form in that message to validate your
90 no-fee license. Both Maxima and KCL distributions include ALL
91 sources. A number of optimizations to KCL have been made by Schelter
92 to help with performance in function calling, and also for the type of
93 arithmetic found in the Macsyma Code. The author has found KCL to be
94 an excellent and reliable lisp. Its authors are Hagiya and Yuasa of
97 The Vax(11/780) time was with the Symbolics Distribution running in
98 Franz. The Sun(3/160) time in Franz was using our own build of
99 Macsyma based on the `free Franz'. The Dec-20 time was a distribution
100 by Symbolics, running in Dec-20 Maclisp (very small address space).
102 The GCD switch used was SPMOD.
104 This is not meant to be a comparison of factoring algorithms, but
105 rather just a simple, easily quantified test of complex polynomial
106 manipulation, which has been found to be a good point of comparison
107 when considering different hardware and software for large algebraic
108 manipulation problems.
113 The Explorer was running release 3.0, and the Symbolics release 7.
114 On earlier tests on the TI there was a dramatic improvement.
115 (almost half the times shown). Although I did the tests
116 carefully at the time, I have not been able to reproduce them
117 with the current world. The new times for TI are closer to the
120 The Sun's were running versions 3.2
121 to 3.4. The 11/780 was running 4.3 BSD.
126 For this type of work the explorer is probably a Good Buy, in that it
127 is the second cheapest of the machines yet is also very fast. The
128 Sun 3/50 just does not seem to have the memory or memory management
129 capabilities for large problems, so barring possible improvements to
130 the software you would probably not be happy with one for such
131 problems. The large Suns would be recommended if time sharing is a
132 must. There are a number of other Unix machines which we just did not
133 have available to run tests on.
138 Here is the actual transcript. You can see how the times varied:
139 For the other machines, the times were rather consistent. We
140 have used averages in all cases.
142 (C3) expand((x+y+z)^10)$
145 Evaluation took 8.20 seconds (17.93 elapsed)
150 Evaluation took 7.98 seconds (16.98 elapsed)
158 Evaluation took 13.98 seconds (50.25 elapsed)
163 Evaluation took 8.02 seconds (16.57 elapsed)
171 Evaluation took 13.90 seconds (52.20 elapsed)
176 Evaluation took 8.05 seconds (16.65 elapsed)
184 Evaluation took 13.90 seconds (56.88 elapsed)
188 (C16) expand((x+y+z)^20)$
190 Evaluation took 10.10 seconds (13.20 elapsed)
207 Evaluation took 63.77 seconds (243.45 elapsed)