run(100, 'use_echo', $short_string); $result_1 = $benchmark->get(); $benchmark->run(100, 'use_print', $short_string); $result_2 = $benchmark->get(); fwrite(STDERR, "echo vs. print, printing a short string 1,000 times (lower is better)\n"); fwrite(STDERR, 'echo: '.($result_1['mean']*1000000)." microseconds\n"); fwrite(STDERR, 'print: '.($result_2['mean']*1000000)." microseconds\n"); $long_string = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque non massa eget tortor iaculis placerat ut vel justo. Aliquam erat volutpat. Integer ornare pharetra massa et aliquam. Ut nisi diam, vulputate ut lobortis sit amet, tristique sit amet magna. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Proin vitae est est. Nullam non malesuada dui. Vivamus nisl nisl, dictum et porta non, pretium a orci. Nulla vitae risus dui. Proin nibh metus, pharetra eget tristique sit amet, rutrum et massa. Mauris at dolor in ipsum faucibus tempus ut sit amet odio. Maecenas congue ipsum a ligula eleifend ac dictum quam vulputate. Suspendisse potenti. Donec aliquet lacinia eros eu sollicitudin. Mauris id nulla urna, sit amet tincidunt augue. Ut tincidunt libero ac libero imperdiet euismod. Quisque vel nisi id augue aliquet tempus. Quisque tincidunt magna quis est pellentesque luctus. Ut vitae libero nisi, sed vulputate ipsum. Donec eget arcu nibh. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque bibendum tortor sit amet magna eleifend faucibus. Proin vitae arcu ut quam lacinia placerat eu et risus. Quisque leo ante, tempus non convallis sed, sagittis nec ipsum. Cras magna nisi, varius a convallis sed, semper id orci. Aliquam at mauris nec ligula tincidunt tincidunt iaculis ut metus. Duis non aliquet dolor. Vivamus euismod enim vitae odio pretium euismod. Sed congue faucibus sapien, eu vulputate nibh aliquet eu. Proin non justo iaculis nibh commodo sodales. Etiam suscipit lectus vel eros mollis in elementum nulla posuere. Nam vestibulum tellus et nulla fermentum egestas. Suspendisse scelerisque est vel felis mattis consequat. Curabitur arcu massa, rhoncus tincidunt convallis non, pretium eget eros. Donec condimentum nulla id elit bibendum non egestas orci vulputate. Mauris malesuada lacinia metus, ut interdum mi porttitor a. Aliquam in leo elit, ut varius neque. Fusce vitae odio nisi. Phasellus id ante vel erat rutrum mollis sit amet eget leo. In dictum diam vel nisl eleifend quis feugiat eros dictum. Praesent laoreet eleifend porta. In lorem nunc, sodales eget gravida at, aliquam quis felis. Maecenas malesuada varius urna, volutpat aliquam lacus lobortis id. Pellentesque auctor tristique eros, id venenatis mauris ultrices fringilla. Mauris risus dolor, tempus ut molestie nec, cursus at felis. Suspendisse laoreet ante ut elit volutpat eget vehicula sem facilisis. Sed nisl sem, ultricies ut cursus at, ornare et mi. Praesent feugiat, risus at condimentum laoreet, metus velit molestie tortor, eu venenatis nisl sapien vel tellus. Mauris sodales, urna at vulputate dictum, orci erat hendrerit nisl, scelerisque condimentum justo eros adipiscing leo. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In vel mi sed nibh pellentesque rhoncus ac a ante. Quisque egestas, nunc ac varius condimentum, odio quam euismod augue, et ornare urna quam ac dolor. Nam eu magna in velit ullamcorper pharetra ut in arcu. Fusce ullamcorper lobortis mi, quis tincidunt felis venenatis ut. Pellentesque ultricies ante vitae elit gravida congue. Suspendisse mollis lacinia libero, vitae volutpat magna ultrices at. Suspendisse potenti. Sed non nisl et justo faucibus commodo quis vitae odio. Integer venenatis bibendum sapien nec feugiat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Praesent accumsan, turpis vel congue porttitor, odio mauris pellentesque elit, mattis tincidunt nibh libero et turpis. Aliquam neque felis, dapibus et tincidunt id, lobortis sed mi. Vivamus interdum molestie eros, sit amet commodo metus ultricies nec. Nullam egestas sem vitae dolor aliquam molestie. Nullam gravida accumsan mi sed dignissim. Mauris eu lacinia ipsum. Phasellus sollicitudin malesuada nulla nec ultricies. Maecenas diam orci, pellentesque eu ultricies nec, vulputate et mauris. Maecenas scelerisque lobortis mauris, ac luctus velit imperdiet vitae. Vivamus eros purus, sagittis ut dignissim imperdiet, luctus sit amet elit. Sed aliquet fermentum sem ac rhoncus. Pellentesque quis erat arcu, eu interdum quam. Cras mattis gravida ultricies. In nec convallis nunc. Sed ullamcorper, nisi sed condimentum rhoncus, orci velit tempus mauris, sit amet gravida sapien risus sed dolor. Proin consequat, sem id porta hendrerit, justo odio tincidunt leo, a tincidunt metus lorem non diam. Curabitur faucibus, odio ut laoreet blandit, sem quam viverra magna, ac ornare lorem nisl nec ligula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque adipiscing tortor fermentum orci gravida vel fringilla lectus sollicitudin. Sed hendrerit iaculis elit, eu viverra tellus ullamcorper in. Vestibulum lorem ante, tempus nec luctus a, mollis vel enim. Fusce justo nisl, fermentum eget euismod in, mollis rutrum nibh. Donec ante felis, faucibus nec pretium in, cursus quis turpis. Integer placerat, urna ac volutpat bibendum, felis justo hendrerit lacus, a porttitor lectus quam ac magna. Nulla lacinia nisl ut lacus sollicitudin nec sagittis sem fermentum.'; $benchmark->run(100, 'use_echo', $long_string); $result_1 = $benchmark->get(); $benchmark->run(100, 'use_print', $long_string); $result_2 = $benchmark->get(); fwrite(STDERR, "echo vs. print, printing a long string 1,000 times (lower is better)\n"); fwrite(STDERR, 'echo: '.($result_1['mean']*1000000)." microseconds\n"); fwrite(STDERR, 'print: '.($result_2['mean']*1000000)." microseconds\n"); function addUser() { return 1; } function deleteUser() { return 1; } function editUser() { return 1; } function defaultAction(){ return 1; } function use_if() { for ($i = 0; $i < 1000; $i++) { $action = $i % 4; if($action == 3) { addUser(); } elseif ($action == 2) { deleteUser(); } elseif ($action == 1) { editUser(); } else { defaultAction(); } } } function use_switch() { for ($i = 0; $i < 1000; $i++) { $action = $i % 4; switch ($action) { case 3: addUser(); break; case 2: deleteUser(); break; case 1: editUser(); break; default: defaultAction(); break; } } } $benchmark->run(100, 'use_if'); $result_1 = $benchmark->get(); $benchmark->run(100, 'use_switch'); $result_2 = $benchmark->get(); fwrite(STDERR, "if/else vs. switch/case, 4 equally likely branches, repeated 1,000 times (lower is better)\n"); fwrite(STDERR, 'if/else: '.($result_1['mean']*1000000)." microseconds\n"); fwrite(STDERR, 'switch/case: '.($result_2['mean']*1000000)." microseconds\n"); function use_concat() { for ($i = 0; $i < 1000; $i++) echo "Hello "."World!"."\n"."Hello "."World!"."\n"; } function use_args() { for ($i = 0; $i < 1000; $i++) echo "Hello ","World!","\n"."Hello ","World!","\n"; } $benchmark->run(100, 'use_concat'); $result_1 = $benchmark->get(); $benchmark->run(100, 'use_args'); $result_2 = $benchmark->get(); fwrite(STDERR, "Concatenation or arguments with echo, 4 equally likely branches, repeated 1,000 times (lower is better)\n"); fwrite(STDERR, 'Concatenation: '.($result_1['mean']*1000000)." microseconds\n"); fwrite(STDERR, 'Arguments: '.($result_2['mean']*1000000)." microseconds\n");