#! perl -slw use strict; use GD; use Time::HiRes qw[ time ]; sub rgb2n{ unpack 'N', pack 'CCCC', 0, @_ } my $im = GD::Image->new( 1920, 1080, 1 ); my $start = time; for( 1 .. 150000 ) { $im->filledEllipse( rand( 1920 ), rand( 1080 ), (10+rand(2)) x 2, rgb2n( (255) x 3 )); } printf "Took %.9f seconds\n", time() - $start; open PNG, '>:raw', 'junk.png' or die $!; printf PNG "%s", $im->png; close PNG; system 1, 'junk.png'; __END__ C:\test>junk71 Took 1.036067009 seconds