Michael Save
12 years ago
1 changed files with 52 additions and 0 deletions
@ -0,0 +1,52 @@ |
|||||
|
#!/usr/bin/php |
||||
|
<?php |
||||
|
/* |
||||
|
* benchmark.php - benchmarks thumbnailing methods |
||||
|
* |
||||
|
*/ |
||||
|
|
||||
|
require dirname(__FILE__) . '/inc/cli.php'; |
||||
|
require 'inc/image.php'; |
||||
|
|
||||
|
// move back to this directory |
||||
|
chdir(dirname(__FILE__)); |
||||
|
|
||||
|
if(count($argv) != 2) |
||||
|
die("Usage: {$argv[0]} [file]\n"); |
||||
|
|
||||
|
$file = $argv[1]; |
||||
|
$extension = strtolower(substr($file, strrpos($file, '.') + 1)); |
||||
|
$out = tempnam($config['tmp'], 'thumb'); |
||||
|
$count = 300; |
||||
|
|
||||
|
function benchmark($method) { |
||||
|
global $config, $file, $extension, $out, $count; |
||||
|
|
||||
|
$config['thumb_method'] = $method; |
||||
|
|
||||
|
printf("Method: %s\nThumbnailing %d times... ", $method, $count); |
||||
|
|
||||
|
$start = microtime(true); |
||||
|
for($i = 0; $i < $count; $i++) { |
||||
|
$image = new Image($file, $extension); |
||||
|
$thumb = $image->resize( |
||||
|
$config['thumb_ext'] ? $config['thumb_ext'] : $extension, |
||||
|
$config['thumb_width'], |
||||
|
$config['thumb_height'] |
||||
|
); |
||||
|
|
||||
|
$thumb->to($out); |
||||
|
$thumb->_destroy(); |
||||
|
$image->destroy(); |
||||
|
} |
||||
|
$end = microtime(true); |
||||
|
|
||||
|
printf("Took %.2f seconds (%.2f/second; %.2f ms)\n", $end - $start, $rate = ($count / ($end - $start)), 1000 / $rate); |
||||
|
|
||||
|
unlink($out); |
||||
|
} |
||||
|
|
||||
|
benchmark('gd'); |
||||
|
benchmark('imagick'); |
||||
|
benchmark('convert'); |
||||
|
|
Loading…
Reference in new issue