[cmucl] #81: Reversing a string is slow

cmucl cmucl-devel at common-lisp.net
Sun May 19 00:47:54 UTC 2013


#81: Reversing a string is slow
---------------------+------------------------------------------------------
  Reporter:  rtoy    |       Owner:  somebody
      Type:  defect  |      Status:  closed  
  Priority:  major   |   Milestone:          
 Component:  Core    |     Version:  2013-05 
Resolution:  fixed   |    Keywords:          
---------------------+------------------------------------------------------
Changes (by toy.raymond@…):

  * status:  new => closed
  * resolution:  => fixed


Comment:

 commit 78cce51df441b220c071024fb5e616f1928184dd
 Author: Raymond Toy <toy.raymond at gmail.com>
 Date:   Sat May 18 17:44:02 2013 -0700

     Fix ticket:81 and fix ticket:83.

     From ticket 81, the tests are now:

     {{{
     (time (prog1 t (time-rev *s*)))
     ; Evaluation took:
     ;   0.49 seconds of real time
     ;   0.481813 seconds of user run time
     ;   0.003624 seconds of system run time
     ;   1,490,776,936 CPU cycles
     ;   [Run times include 0.13 seconds GC run time]
     ;   0 page faults and
     ;   200,073,704 bytes consed.

     (time (prog1 t (time-rev *s2*)))
     ; Evaluation took:
     ;   0.97 seconds of real time
     ;   0.965893 seconds of user run time
     ;   0.005139 seconds of system run time
     ;   2,980,415,911 CPU cycles
     ;   [Run times include 0.23 seconds GC run time]
     ;   0 page faults and
     ;   400,005,560 bytes consed.
     }}}

     So the new string-reverse* is 20 times faster for strings without
     surrogates and 10 times faster for strings containing only surrogates.

-- 
Ticket URL: <http://trac.common-lisp.net/cmucl/ticket/81#comment:2>
cmucl <http://common-lisp.net/project/cmucl>
Cmucl is a high-performance, free Common Lisp implementation.


More information about the cmucl-ticket mailing list