Привет, друзья.
Так получилось, что мы пишем разные высоконагруженные вещи на JS. В отличие от простых сценариев в браузере, оптимизация производительности JS на сервере (речь в основном о Node.js) – тема очень интересная практически. Думаю, присутствующим не надо объяснять, почему быстрый код лучше, чем медленный.
Вообще оптимизация – это далеко не только переписывание на Си или ассемблере «горячих» участков кода. В нашей команде дискуссия о том, как заставить скрипт работать шустрее – явление перманентное. А поскольку существуют объективные критерии оценки (бенчмарк и юнит-тесты), не допускающие патологической ситуации «о вкусах не спорят» – в результате действительно получается быстрый код, снижение нагрузки на сервер, процветание, радость.
Но наша команда маленькая, талантливых программистов гораздо больше. А значит, мы совершенно точно упускаем из виду многие вещи. Поэтому решили провести конкурс – гонку функций на JS, с призами и памятными подарками, чтобы никто не ушел обиженным.
Раздача слонов в масштабах отдельно взятого Хабрахабра
С условиями конкурса можно ознакомиться на сайте. Здесь будет краткий перевод на русский.
Задача: разогнать оригинальную функцию strftime в 50 раз.
Исходники медленной функции: github.com/mvasilkov/strftime
Нужно как можно лучше сохранить функциональность оригинала.
Решения можно присылать до 22 июня включительно, в вашем часовом поясе, по почте: challengejs@hola.org
Оценивается производительность функции на движке V8 (Node.js). «Эталонный» бенчмарк является восхитительной тайной.
Призы и памятные подарки
Первое, второе, третье место – 500, 350, 250 долларов США соответственно.
Специальный суперприз – 350 долларов за самое нетривиальное и классное решение (необязательно самое быстрое – оригинальный подход не менее важен, чем результат).
Еще мы станем заманивать вас на интервью и предлагать интересную, высокооплачиваемую работу.
Мне кажется, будет интересно.
TL;DR Ссылка на конкурс: hola.org/challenge_js
Автор: printf