3v4l.org

run code in 300+ PHP versions simultaneously
<?php function timeClosures( $n ) { $start = microtime( true ); for ( $i = 0; $i < $n; $i++ ) { $closure = function( $x ) use ( $i ) { return $i*$x; }; } $sec = microtime( true ) - $start; print " It took $sec seconds to create $n closures.\n"; return $sec; } class ClosureBenchmarkTestClass { private $x; public function __construct( $x ) { $this->x = $x; } public function foo( $y ) { return $this->x * $y; } } function timeObjects( $n ) { $start = microtime( true ); for ( $i = 0; $i < $n; $i++ ) { $obj = new ClosureBenchmarkTestClass( $i ); } $sec = microtime( true ) - $start; print " It took $sec seconds to create $n objects.\n"; return $sec; } $m = 10; $n = 1000000; for ( $i = 0; $i < $m; $i++ ) { $ctime = timeClosures( $n ); $otime = timeObjects( $n ); $dtime = $ctime - $otime; $rtime = ( $ctime / $otime ); $fasterOrSlower = $dtime > 0 ? 'faster' : 'slower'; print sprintf( "Creating %d objects was %f seconds %s (%d%%).\n", $n, abs( $dtime ), $fasterOrSlower, abs( $rtime ) * 100 ); }

Abusive script

This script was stopped while abusing our resources


preferences:
47.18 ms | 406 KiB | 5 Q