[Openmcl-devel] Lisp Comparison
    Rainer Joswig 
    joswig at lisp.de
       
    Wed Apr 19 01:31:45 PDT 2017
    
    
  
> Am 19.04.2017 um 05:39 schrieb Craig Lanning <craig.t.lanning at gmail.com>:
> 
> On Tue, 2017-04-18 at 16:34 -0700, David McClain wrote:
...
> Yes, all code is compiled.  No code is run interpreted.  It is designed
> the way it is specifically for that reason.
Things I would usually look for:
* is everything compiled?
* slow stream I/O
* slow unbuffered stream I/O
  -> for example when reading lines allocating a new string for each line
  -> or generally unbuffered streams with a lot of character operations
* slow CLOS-based stream I/O -> in CCL CLOS based streams are usually slower than non-CLOS streams
* slow unicode stream operations
* slow unicode string operations
* repeated translation between character representations in strings
* excessive consing / slow garbage collection time -> use TIME to see the GC time
* excessive FLOAT consing -> CCL needs more declarations / tricks
* forgotten calls to the sleep function ;-)
* lots of background output/logging/tracing, debug options enabled
* time sensitive functions compiled with the wrong compiler optimizations
* tail calls not optimized, when needed
* algorithmic problems in user code or in the implementation: n^2 or worse complexity
  -> consing to the end of a list
   -> copying arrays in loops
   -> adjusting strings by one element
    
    
More information about the Openmcl-devel
mailing list