#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@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.