Skip to content

Benchmarks

Hayley Patton edited this page Nov 30, 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 with SIMD 57 ns
one-more-re-nightmare:first-match 97 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
one-more-re-nightmare:first-match 98 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
one-more-re-nightmare:first-match 102 ns 1.04×
cl-ppcre:scan 1250 ns 1.35×