Разгоняем JavaScript вместе (Внимание, конкурс!)

4be65f5ad8194ee1b19f7f2f35a8f5cb.jpgПривет, друзья.Так получилось, что мы пишем разные высоконагруженные вещи на JS. В отличие от простых сценариев в браузере, оптимизация производительности JS на сервере (речь в основном о Node.js) — тема очень интересная практически. Думаю, присутствующим не надо объяснять, почему быстрый код лучше, чем медленный.

Вообще оптимизация — это далеко не только переписывание на Си или ассемблере «горячих» участков кода. В нашей команде дискуссия о том, как заставить скрипт работать шустрее — явление перманентное. А поскольку существуют объективные критерии оценки (бенчмарк и юнит-тесты), не допускающие патологической ситуации «о вкусах не спорят» — в результате действительно получается быстрый код, снижение нагрузки на сервер, процветание, радость.Но наша команда маленькая, талантливых программистов гораздо больше. А значит, мы совершенно точно упускаем из виду многие вещи. Поэтому решили провести конкурс — гонку функций на JS, с призами и памятными подарками, чтобы никто не ушел обиженным.

Но сначала лирическое отступление про талантливых программистов Экспериментальным способом установили этнографический факт: талантливых русскоязычных программистов очень много. (Специально не пишу «больше всех», потому что очевидным образом не знаком со всеми разработчиками вообще, но какая-то колоссальная пропорция имеет место.) Именно русскоязычных, т.к. корреляции со страной проживания замечено не было: везде, от Норвегии до Израиля, живут ребята, которые говорят на русском и классно пишут код.

Раздача слонов в масштабах отдельно взятого Хабрахабра С условиями конкурса можно ознакомиться на сайте. Здесь будет краткий перевод на русский.Задача: разогнать оригинальную функцию strftime в 50 раз.Исходники медленной функции: github.com/mvasilkov/strftimeНужно как можно лучше сохранить функциональность оригинала.

Решения можно присылать до 22 июня включительно, в вашем часовом поясе, по почте: challengejs@hola.org

Оценивается производительность функции на движке V8 (Node.js). «Эталонный» бенчмарк является восхитительной тайной.

b38ff11d9b9a79ffe82e9725bf7f6a06.jpg

Призы и памятные подарки Первое, второе, третье место — 500, 350, 250 долларов США соответственно.Специальный суперприз — 350 долларов за самое нетривиальное и классное решение (необязательно самое быстрое — оригинальный подход не менее важен, чем результат).

Еще мы станем заманивать вас на интервью и предлагать интересную, высокооплачиваемую работу.

Мне кажется, будет интересно.

TL; DR Ссылка на конкурс: hola.org/challenge_js

© Habrahabr.ru