in reply to Re^4: Can you write a faster code to perform this task?
in thread Can you write a faster code to perform this task?
tr is MUCH faster than s though. I tried to work this out but didn’t hit on trizen’s cleverness. So…
# (v5.18.2) built for darwin-2level 'tr' => sub { $str =~ tr/M/~/sr=~tr/~//; }, -- count 3 regex 3 regex2 3 split 3 tr 3 Rate regex2 split regex count tr regex2 169354/s -- -62% -65% -75% -94% split 446500/s 164% -- -7% -34% -85% regex 481882/s 185% 8% -- -29% -84% count 674634/s 298% 51% 40% -- -78% tr 3044813/s 1698% 582% 532% 351% --
Update: as trizen noted in his code, the /r flag to tr came in at 5.14. It won’t work on older Perls (update: <- stupid apostrophe begone).
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^6: Can you write a faster code to perform this task?
by LanX (Saint) on Sep 29, 2014 at 17:56 UTC |