Plaster

text
CL-USER> (locally (loop for i from 0 to 1000 do (let ((x (loop for i from 0 to 100000 collect (make-array 10 :element-type 'character :displaced-to *str*)))) (elt x 0)))) NIL Results with perf stat: Performance counter stats for process id '2722': 4680,299389 task-clock (msec) # 0,906 CPUs utilized 732 context-switches # 0,156 K/sec 8 cpu-migrations # 0,002 K/sec 131 126 page-faults # 0,028 M/sec 13 516 391 688 cycles # 2,888 GHz 37 903 342 160 instructions # 2,80 insn per cycle 8 872 437 648 branches # 1895,699 M/sec 7 506 597 branch-misses # 0,08% of all branches 5,164828155 seconds time elapsed CL-USER> (locally (loop for i from 0 to 1000 do (let ((x (loop for i from 0 to 100000 collect (subseq *str* 0 10)))) (elt x 0)))) NIL Results with perf stat: Performance counter stats for process id '2722': 3871,868911 task-clock (msec) # 0,789 CPUs utilized 575 context-switches # 0,149 K/sec 10 cpu-migrations # 0,003 K/sec 72 426 page-faults # 0,019 M/sec 10 803 597 013 cycles # 2,790 GHz 34 758 660 948 instructions # 3,22 insn per cycle 7 701 523 345 branches # 1989,097 M/sec 6 812 035 branch-misses # 0,09% of all branches 4,907971097 seconds time elapsed