используем конструкцию (??{ code }); perldoc perlre
( под кат )
резюме: на больших массивах имеет смысл использовать поиск через хеш.
update: при модификаторе /о регулярное выражение выигрывает у хеша, но до определенного размера.
( под кат )
резюме: на больших массивах имеет смысл использовать поиск через хеш.
update: при модификаторе /о регулярное выражение выигрывает у хеша, но до определенного размера.
Size: 16384
Benchmark: timing 1000000 iterations of A, B...
A: 5 wallclock secs ( 4.58 usr + -0.01 sys = 4.57 CPU) @ 218818.38/s (n=1000000)
B: 0 wallclock secs ( 0.90 usr + 0.02 sys = 0.92 CPU) @ 1086956.52/s (n=1000000)
Size: 32768
Benchmark: timing 1000000 iterations of A, B...
A: 5 wallclock secs ( 4.55 usr + 0.00 sys = 4.55 CPU) @ 219780.22/s (n=1000000)
B: 239 wallclock secs (237.26 usr + 0.37 sys = 237.63 CPU) @ 4208.22/s (n=1000000)