text_combined: dave mitchell uaufmiabyncom tue oct 16 2007 120118pm 0700 glenn linderman wrote approximately 10162007 132 came following characters keyboard demerphq lvalue substrings really responsible would say advantage hindsight new keyword added instead making substrs everywhere slow dying death thousand cuts sigh mean way get performance back introduce fastsubstr work way substr used new pragma eliminate new generality lvalue substrings thread seems unfortunately run areas wild speculation unsupported facts facts hercule facts 1 particular usage substr returning lvalue thus experiencing corresponding performance hit 2 substr expression slower regex expression mainly ops executed 5 verses 2 perl595 moconciseexec e 3 gvsva 4 match vksrtime perl595 moconciseexec e substra1 eq 3 gvsva 4 constiv 1 5 substrt2 sk2 6 constpv 7 2 seq vk2 compare two ops directly find substr nearly fast regex pesky extra work done output substr takes extra time original expression use benchmark qw cmpthese timethese foo x cmpthese 50_000_000 substr sub x 1 substr foo 1 regexy sub x 1 foo gives perl ilib tmpp rate substr regexy substr 4226543s 17 regexy 5086470s 20 still bit slower execute one op regex case constiv 1 return fully fledged pv rather pl_sv_yes finally remember microoptimisation talking expressions get executed 02 microseconds strange women lying ponds distributing swords basis system government supreme executive power derives mandate masses farcical aquatic ceremony dennis monty python holy grail wed 06 aug 2008 060817 0100 pathtools beta testing