close

I've made a pull request to the SPLIT-SEQUENCE repository that, among others, fixes a bug that made the function quadratic on lists.

Test:

(time (split-sequence:split-sequence-if (lambda (x) (= 0 (mod x 5)))
                                        (alexandria:iota 100000)))

Before:

Evaluation took:
  3.724 seconds of real time
  3.718900 seconds of total run time (3.711284 user, 0.007616 system)
  99.87% CPU
  12,263,698,176 processor cycles
  1,605,632 bytes consed

After:

Evaluation took:
  0.003 seconds of real time
  0.003513 seconds of total run time (0.003513 user, 0.000000 system)
  133.33% CPU
  11,559,720 processor cycles
  1,900,544 bytes consed

I will write more later when I am less exhausted. It's been a marathon - ten or eleven hours of coding in total to make this PR happen over the last twenty four hours.

  • favorite

    1 Like

    Timothée Jaussoin