cmpthese(-3, { cc => sub { 'asdfasdfXasdfasdfXsdfasdfXasdfasdf111XYZ' =~ /(?:[^X]*X)+?YZ/ }, ds => sub { 'asdfasdfXasdfasdfXsdfasdfXasdfasdf111XYZ' =~ /.*?XYZ/ }, }); #### Benchmark: running cc, ds, each for at least 3 CPU seconds... cc: 4 wallclock secs ( 3.12 usr + 0.00 sys = 3.12 CPU) @ 101652.97/s (n=316649) ds: 4 wallclock secs ( 3.12 usr + 0.00 sys = 3.12 CPU) @ 243115.24/s (n=759492) Rate cc ds cc 101653/s -- -58% ds 243115/s 139% -- #### C:\>perl -v This is perl, v5.6.0 built for MSWin32-x86-multi-thread (with 1 registered patch, see perl -V for more detail) Copyright 1987-2000, Larry Wall Binary build 620 provided by ActiveState Tool Corp. http://www.ActiveState.com Built 18:31:05 Oct 31 2000 #### Benchmark: running cc, ds, each for at least 3 CPU seconds... cc: 3 wallclock secs ( 3.19 usr + 0.01 sys = 3.20 CPU) @ 116044.62/s (n=371923) ds: 3 wallclock secs ( 3.13 usr + 0.00 sys = 3.13 CPU) @ 250170.39/s (n=784034) Rate cc ds cc 116045/s -- -54% ds 250170/s 116% -- #### Benchmark: running cc, ds, each for at least 3 CPU seconds... cc: 2 wallclock secs ( 3.08 usr + 0.01 sys = 3.09 CPU) @ 319288.07/s (n=987558) ds: 3 wallclock secs ( 3.19 usr + -0.01 sys = 3.18 CPU) @ 292251.18/s (n=930820) Rate ds cc ds 292251/s -- -8% cc 319288/s 9% --