[Openmcl-devel] Lisp Comparison

Craig Lanning craig.t.lanning at gmail.com
Wed Apr 19 11:14:31 PDT 2017


Thanks. I'll give it a try.

Craig

On Wed, 2017-04-19 at 11:20 -0600, Shannon Spires wrote:
> Here's another profiler that's non-sampling. (It requires you to name
> the functions you want to meter.) Could be useful after the sampler
> points you in the right direction.
> https://bitbucket.org/svspire/ccl-metering
> 
> On Apr 18, 2017, at 5:22 PM, R. Matthew Emerson wrote:
> 
> > 
> > > On Apr 18, 2017, at 3:46 PM, Gail Zacharias <gz at clozure.com>
> > > wrote:
> > > 
> > > Well, clearly whatever your code is spending most of its time
> > > doing is pretty slow in CCL.  In my experience when that kind of
> > > a huge discrepancy occurs, it can be corrected (e.g. to bring
> > > implementations to within an order of magnitude of each other)
> > > fairly easily once you know what's causing it.  Do you have any
> > > profiling results (from any of the implementations -- lispworks
> > > might be the easiest) to indicate where you spend most time?
> > https://github.com/eugeneia/sam is a tiny and simple-minded
> > profiler that might help for CCL. It should be able to provide an
> > idea of where CCL is spending so much time.
> > 
> > 
> > 
> > 
> > 
> > > On Tue, Apr 18, 2017 at 5:44 PM, Craig Lanning <craig.t.lanning at g
> > > mail.com> wrote:
> > > I have been working on a rather large application that runs from
> > > the
> > > command line.  It reads schema files that are part of the ISO
> > > 10303
> > > STEP family of product data standards.  It can also read the
> > > corresponding Product Data Population files.
> > > 
> > > Recently someone gave me a script that runs a schema comparison
> > > (using
> > > my application) across several schemata.  (In this case, the
> > > script
> > > processed 17 schema pairs.) The act of processing one pair of
> > > schema
> > > files will mean that additional schema files are pulled from a
> > > special
> > > repository.  The schema files being processed "include" other
> > > schema
> > > files which also may "include" even more schema files.
> > > 
> > > I can build my application using LispWorks CL 6.1.1, Clozure CL
> > > v1.11,
> > > and SBCL 1.3.16.
> > > 
> > > I can build with LispWorks CL 6.1.1 in 32-bit only.
> > > 
> > > I can build with Clozure CL 1.11 in both 32-bit and 64-bit.
> > > 
> > > I can build with SBCL 1.3.16 in 64-bit only.  (No easy way to get
> > > both
> > > the 32-bit and 64-bit versions at the same time.)
> > > 
> > > The source code for my application is stored on SourceForge
> > > (http://exp-engine.sourceforge.net/) as the original development
> > > was
> > > intended to be an open source project.
> > > 
> > >               LWL 6.1.1(32)   SBCL 1.3.16(64)   CCL 1.11(32)
> > >   CCL 1.11(64)
> > > App Compile    10.323 sec      18.002 sec        10.242 sec
> > >     10.587 sec
> > > App Deliver     4.306 sec       6.379 sec         1.418 sec
> > >      1.875 sec
> > > App Filesize   37,429,248      57,409,584        24,719,376
> > >     33,460,464
> > > 17 schemata     8.320 sec       7.506 sec         23:49.054
> > >      23:44.190
> > > 
> > > The machine used was
> > >        Dell Inspiron 3558 Laptop
> > >        Intel Core i3 2.1GHz CPU
> > >        4GB Memory
> > > 
> > > As you can see in the chart above, CCL 1.11 took over 23 minutes
> > > to
> > > process the 17 schema pairs.  Not a good showing.
> > > 
> > > This application does not allocate and deallocate large amounts
> > > of
> > > memory so I have no information about which Lisp handles memory
> > > the
> > > best.  None of the Lisps tested ran out of memory.
> > > 
> > > LispWorks and Clozure CL both start with a small amount of memory
> > > and 
> > > grow and shrink the dynamic space as needed so I suspect that
> > > they
> > > handle memory the best.
> > > 
> > > SBCL needs to be told what its maximum dynamic space size is.  It
> > > then
> > > allocates all of that memory.
> > > 
> > > My purpose in posting this message was to give a reference for
> > > how
> > > different Lisps support real applications.
> > > 
> > > I was curious about whether CCL's time has improved in successive
> > > releases so I downloaded CCL 1.10 and 1.9.  I was unable to run
> > > 1.9,
> > > but was able to run 1.10.  1.11 produced a slower executable than
> > > 1.10.
> > > 
> > > Craig Lanning
> > _______________________________________________
> > Openmcl-devel mailing list
> > Openmcl-devel at clozure.com
> > https://lists.clozure.com/mailman/listinfo/openmcl-devel
> 



More information about the Openmcl-devel mailing list