Мы предложили участникам второго этапа конкурса оптимизировать приложение SunSet – программу, рассчитывающую вид водной поверхности в зависимости от множества условий (положение солнца, ветра и т.п.).

Пример изображения, сгенерированного приложением SunSet
К заданию прилагался код исходного приложения SunSet. Задача участников состояла в том, чтобы максимально ускорить программу.
Заметим, что мы никак не ограничивали конкурсантов – допускалось использование любых компиляторов и библиотек, можно было выбирать оптимальные параметры компиляции. И, разумеется, допускалось изменять алгоритм работы программы, при условии, что эти изменения не влияют на качество результата и методы измерения скорости расчетов.
Определяя победителей, мы измерили производительность и проанализировали все присланные решения, стараясь поставить всех в равные условия и исключить влияние субъективных факторов, таких как аппаратное обеспечение, разные версии используемых библиотек, компиляторов и т.п.
Работы всех участников тестировались на одной и той же машине с четырехядерным процессором Intel® Core™ 2 Extreme QX6700. Данный процессор дает определенные преимущества тем приложениям, авторы которых тщательно проработали алгоритмы распараллеливания с учетом масштабируемости на несколько процессорных ядер.

Параметры процессора
| Number of cores | 4 per processor |
| Name | Intel Core 2 Extreme QX6700 |
| Code Name | Kentsfield |
| Specification | Intel(R) Core(TM)2 Quad CPU @ 2.66GHz |
| Technology | 65 nm |
| Core Speed | 2666.8 MHz |
| Multiplier x Bus speed | 10.0 x 266.7 MHz |
| Instruction sets | MMX, SSE, SSE2, SSE3, SSSE3, EM64T |
| L1 Data cache | 4 x 32 KBytes, 8-way set associative, 64-byte line size |
| L1 Instruction cache | 4 x 32 KBytes, 8-way set associative, 64-byte line size |
Машина была оснащена 4Gb оперативной памяти DDR2, работающей в двухканальном режиме на материнской плате D975XBX2:

Параметры материнской платы
| Northbridge | Intel i975X rev. A0 |
| Southbridge | Intel 82801GB (ICH7/R) rev. A1 |
| Memory Type | DDR2 |
| Memory Size | 4096 MBytes |
| Memory Frequency | 333.4 MHz (4:5) |
| Mainboard Vendor | Intel Corporation |
| Mainboard Model | D975XBX2 |
Все тесты проводились на операционной системе Microsoft* Windows Server 2003 R2 Enterprise x64 Edition Service Pack 1 (Build 3790). .
>SunSet –cfg Sample01.cfg
...
>SunSet –cfg Sample02.cfg
...
>SunSet –cfg Sample03.cfg
...
Таким образом, мы выявили одиннадцать лучших работ по минимальному времени исполнения в трех тестах. (Алексей Щербаков и Руслан Увашев разделили восьмое и девятое места, поэтому мы выделили одиннадцать, а не десять участников).
Таблица результатов - время выполнения в трех тестах.
При определении победителя наше жюри единодушно решило наряду с производительностью (степенью оптимизации) исходной программы учитывать также оригинальность авторских идей и качество документации.
Некоторые участники конкурса показали блестящие знания многопоточности и микроархитектуры процессоров, кто-то подготовил прекрасные пояснительные записки и сделал исчерпывающий анализ результатов... Но - конкурс есть конкурс, и не всегда блестящая идея может принести результат в виде сухих цифр. Поэтому мы решили, что было бы справедливо поощрить авторов, работы которых понравились экспертам.
Таким образом, мы составили дополнительный рейтинг участников, и с учетом этого рейтинга внесли коррективы в итоговую таблицу:
Итоговая таблица результатов.
Дополнительный рейтинг не повлиял на расстановку сил в тройке лидеров. Тем не менее, позиции четверых участников, вошедших в «десятку+1» изменились: Евгений Калишенко поднялся на одну ступеньку вверх, Илья К. – на две, потеснив Петра Процика и Евгения Гришуля.
Полный список комментариев к дополнительному рейтингу можно посмотреть в моем блоге.
Итак, мы поздравляем победителей конкурса:

Первое место и процессор Intel® Core™2 Quad Q6700 достается Александру Романову.

Второе место и процессор Intel® Core™2 Duo E6750 получает Юрий Мальков.

Третье место и процессор Intel® Core™2 Duo E6750 получает Павел Зубарев.