У нас тута прям семейный подряд. @ixti свалил в американский стартап, и нодеку продолжил писать его брат, @dervus.
Человеку 20 лет. Получил в качестве “теста” довольно тяжелую задачу, ускорить парсер YAML с учетом особенностей Javascript. Тяжелую, потому что спецификация YAML очень большая и требует повышенной аккуратности. В итоге парсер стал ~ в 50 раз быстрее, и до качества кода особо не прикопаться. Если кому нужны подробности - смотрите в его профиле на гитхабе.
Всем, кого интересуют хардкорные оптимизации javascript, очень советую доклад Вячеслава Егорова
Речь о тех случаях, когда нужна производительность, сравнимая с нативным C-шным кодом. Например, на node.js драйверы mongodb и redis доведены до такого состояния, что от бинарного кода там полностью отказались. В ямловском парсере теперь тоже все пучком.
Да, докладчик - гуру. Узнал много нового, спасибо!
{"assets_hash":"a8b26fa7f6e768b07a72c8c9aadb9422","page_data":{"users":{"39c21abc3df9550077797d18":{"_id":"39c21abc3df9550077797d18","hid":349,"name":"Vitaly","nick":"Vitaly","avatar_id":null,"css":""},"41b8a4ac3df9550077792e83":{"_id":"41b8a4ac3df9550077792e83","hid":5271,"name":"Prikupets","nick":"Prikupets","avatar_id":null,"css":""}},"settings":{"blogs_can_create":false,"blogs_mod_can_delete":false,"blogs_mod_can_hard_delete":false,"blogs_mod_can_add_infractions":false,"can_report_abuse":false,"can_vote":false,"can_see_ip":false,"blogs_edit_comments_max_time":30,"blogs_show_ignored":false,"blogs_reply_old_comment_threshold":30,"votes_add_max_time":168},"entry":{"_id":"50f8f41c997073007710a7f5","hid":16066,"title":"Детский труд","html":"<p>У нас тута прям семейный подряд. @<a href=\"https://github.com/ixti\" class=\"link link-ext\" data-nd-link-orig=\"https://github.com/ixti\" target=\"_blank\" rel=\"nofollow noopener\">ixti</a> свалил в американский стартап, и нодеку продолжил писать его брат, @<a href=\"https://github.com/dervus\" class=\"link link-ext\" data-nd-link-orig=\"https://github.com/dervus\" target=\"_blank\" rel=\"nofollow noopener\">dervus</a>.</p>\n<p>Человеку 20 лет. Получил в качестве “теста” довольно тяжелую задачу, ускорить парсер YAML с учетом особенностей Javascript. Тяжелую, потому что спецификация YAML очень большая и требует повышенной аккуратности. В итоге парсер стал ~ в 50 раз быстрее, и до качества кода особо не прикопаться. Если кому нужны подробности - смотрите в его профиле на гитхабе.</p>\n<p>Всем, кого интересуют хардкорные оптимизации javascript, очень советую доклад Вячеслава Егорова</p>\n<!--cut-->\n<div class=\"ez-player ez-domain-youtube_com ez-block\" data-placeholder=\"<iframe class="ez-player-frame" src="https://www.youtube.com/embed/tCG0aPNvkTs?feature=oembed&amp;autoplay=1" allowfullscreen></iframe>\" data-nd-link-orig=\"http://www.youtube.com/watch?v=tCG0aPNvkTs\" data-nd-link-type=\"linkify\">\n <div class=\"ez-player-container\" style=\"padding-bottom: 56.5%;\">\n <a class=\"ez-player-placeholder\" target=\"_blank\" href=\"http://www.youtube.com/watch?v=tCG0aPNvkTs\" rel=\"nofollow\">\n <div class=\"ez-player-picture\" style=\"background-image: url('https://i.ytimg.com/vi/tCG0aPNvkTs/hqdefault.jpg');\"></div>\n \n <div class=\"ez-player-header\">\n <div class=\"ez-player-title\">\n JavaScript глазами JIT-компилятора\n </div>\n </div>\n \n <div class=\"ez-player-button\"></div>\n <div class=\"ez-player-logo\"></div>\n \n </a>\n </div>\n</div>\n<p>Речь о тех случаях, когда нужна производительность, сравнимая с нативным C-шным кодом. Например, на node.js драйверы mongodb и redis доведены до такого состояния, что от бинарного кода там полностью отказались. В ямловском парсере теперь тоже все пучком.</p>\n","user":"39c21abc3df9550077797d18","ts":"2013-01-18T07:05:00.000Z","st":1,"cache":{"comment_count":1,"last_comment":"526ff45599707300771488bd","last_comment_hid":1,"last_ts":"2013-10-29T17:45:57.000Z","last_user":"41b8a4ac3df9550077792e83"},"views":1068,"bookmarks":0,"votes":0},"subscription":null},"locale":"en-US","user_id":"000000000000000000000000","user_hid":0,"user_name":"","user_nick":"","user_avatar":null,"is_member":false,"settings":{"can_access_acp":false,"can_use_dialogs":false,"hide_heavy_content":false},"unread_dialogs":false,"footer":{"rules":{"to":"common.rules"},"contacts":{"to":"rco-nodeca.contacts"}},"navbar":{"tracker":{"to":"users.tracker","autoselect":false,"priority":10},"forum":{"to":"forum.index"},"blogs":{"to":"blogs.index"},"clubs":{"to":"clubs.index"},"market":{"to":"market.index.buy"}},"recaptcha":{"public_key":"6LcyTs0dAAAAADW_1wxPfl0IHuXxBG7vMSSX26Z4"},"layout":"common.layout"}