Rate OP while_shift regex ike2 chromatic ike1 OP 245/s -- -17% -28% -38% -48% -50% while_shift 297/s 21% -- -13% -26% -36% -39% regex 340/s 39% 15% -- -15% -27% -31% ike2 398/s 63% 34% 17% -- -15% -19% chromatic 467/s 91% 57% 37% 17% -- -5% ike1 490/s 100% 65% 44% 23% 5% -- #### Rate OP while_shift regex ike2 chromatic ike1 OP 117/s -- -22% -28% -42% -52% -54% while_shift 151/s 29% -- -7% -25% -38% -41% regex 163/s 39% 8% -- -19% -33% -36% ike2 202/s 72% 33% 24% -- -18% -21% chromatic 244/s 109% 62% 50% 21% -- -4% ike1 254/s 117% 68% 56% 26% 4% -- #### ike1 => sub { my @poly = map [ (split /,/, $_)[0, 1] ], split ' ', $coords; }, ike2 => sub { my @poly = map [ /([^,]*),([^,]*)/ ], split ' ', $coords; },