2012/10/26 Михаил Монашёв <[email protected]>:
> Возникла   идея  провести  конкурс  по  творческому  программированию.
> Участвовать  может  каждый.  Достаточно  прислать  в лист свой вариант
> решения  задачи.

Еще не смотрел другие  решение, но вот мой вариант:

# этот блок кода надо ускорить
srand(123);
my $dots = 39293;
my (@color) = map Imager::Color->new(rand(255), rand(255), rand(255),
255 ), (1..30);
my $dots_per_color = $dots/@color;
foreach my $color (@color) {
    $image->setpixel(
        x => [map rand(1024), 1..$dots_per_color],
        y => [map rand(1024), 1..$dots_per_color],
        color => $color
    );
}

Оригинальное:
Time: 1.1980619430542
File size: 344696
Result: 287711.334124571

Мое:
Time: 0.078991174697876
File size: 349384
Result: 4423076.39222125


-- 
Best regards, Ruslan.
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить