Разгоняем JavaScript вместе (Внимание, конкурс!)
Привет, друзья.Так получилось, что мы пишем разные высоконагруженные вещи на 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