Skip to content

Benchmarks

no-defun-allowed edited this page Apr 13, 2021 · 16 revisions

These tests were run on SBCL 2.1.1 unless stated otherwise. 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
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 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
one-more-re-nightmare:first-match 183 ns 1.31×
cl-ppcre:scan 1250 ns 1.35×
Clone this wiki locally