Skip to content

Benchmarks

Hayley Patton edited this page Sep 23, 2021 · 16 revisions

These tests were run on SBCL 2.1.1, except for the new compiler benchmarked on SBCL 2.1.7. We used the-cost-of-nothing to benchmark.

Plain substring search

Search for sun in The earth is captive to the moon, some seek the rising sun, I walk the road on wings of change, the game has just begun:

function runtime
one-more-re-nightmare:first-match 87 ns
ditto, no BMH 212 ns
new compiler, no BMH 296 ns
cl:search 797 ns
cl-ppcre:scan 1150 ns

Somewhat simplified email address syntax

Search for [abc]+@[abc]+ (or (a|b|c)+@(a|b|c)+ in o-m-r-n syntax) in Date: Fri, 9 April 2021 From: <aaa@bbb>

function runtime
new o-m-r-n compiler 92 ns
one-more-re-nightmare:first-match 140 ns
cl-ppcre:scan 927 ns

With submatching

Search for ([abc]+)@([abc]+) (or «(a|b|c)+»@«(a|b|c)+» in o-m-r-n syntax) in Date: Fri, 9 April 2021 From: <aaa@bbb>

function runtime slowdown
new o-m-r-n compiler 99 ns 1.08×
one-more-re-nightmare:first-match 183 ns 1.31×
cl-ppcre:scan 1250 ns 1.35×
Clone this wiki locally