littleguga: могу сказать лишь, что данных между клиентами и сервером гонялось довольно много и эту нагрузку удалось снизить за счет того, что сервер знал, на какие события подписан подключенный к нему клиент и не слал ничего лишнего
Станислав Кукаев: судя по примеру БД у Вас одна, таблицы разные
и да, так нагрузка ниже, т.к. запрос парсится и компилируется только 1 раз, и данных по сети ходит гораздо меньше
Александр Дегтярев: у них почти в каждой функции присутствует arguments-leak - что полностью выключает оптимизацию при компиляции этих функций в v8 и SpiderMonkey
чисто избавившись от этого получил перфоманс в 3-4 раза
но мне показалось мало и я полез оптимизировать дальше, подробностей уже не помню, больше полгода прошло
Однако, прекрасно помню, что
во-первых, залезть в исходник заставило отсутствие возможности обрабатывать события, на которые я не подписан (нужно было возвращать клиенту корректную ошибку, если он вызвал несуществующее событие), а когда залез - ужаснулся и захотел оторвать руки тому кто это написал...
во-вторых, мой мердж-реквест с оптимизацией авторы тогда проигнорировали, через 2 месяца я его отозвал с планами реализовать свой форк, но как то потом и руки не дошли и пришлось поучаствовать в проекте, в котором была реализована более продуманная архитектура rpc поверх вебсокета чем у socket.io
Добавлю, что за подмену стандартных контролов страницы подобными плагинами-костылями нужно руки отрывать! В свое время намучился с select2 плагином когда писал экстеншн к браузеру
Имхо, проще объяснить клиенту, что посетители сидящие на динозаврах денег ему не принесут, а поддержка этих динозавров - это съедание ресурсов нормальных посетителей.
Где-то была статья (влом искать) про старые браузеры и про то как каждая выигранная миллисекунда в загрузке/отрисовке страницы трансформируется в прибыль
Yustas Alexu: за напоминание о сертификате спасибо, все руки не доходят написать скрипт для автообновления летсенкрипта на серваке под нодой))
Насчет зп, сравнительно недавно кризис заставил искать работу (зимой фриланс приносил по 400+ в мес, а к лету вот застой), так что это реальные зарплатные предложения по СПб
Насчет сваливания согласен, хотя срубить неустойку по договору оказания услуг заказчику проще, чем работодателю по трудовому договору, а если никаких договоров нет, то все на честном слове, и если работодатель есть нецензурное слово, то программист свалит при любом удобном случае, неважно оутсорс или кадровик
Василий: не факт, далеко не факт
оутсорсеру нужно крутится, чтоб зарабатывать, как итог часто работают гораздо больше и без выходных
офисный сотрудник отработал свой рабочий день (притом не факт что все врем он занимался работой) и пошел домой
Хотя на крупных проектах офисник может обойтись дешевле по итогу
Dimon123: если по простому то да
если быть точнее, document.write пишет в поток (stream) документа, поэтому браузер останавливает запись в этот поток из потока http-сокета
Дмитрий: В чем же бред то? единственная причина по которой в php появился автолоадинг классов - потребность грузить только те модули, которые нужны в данном запросе, дабы не тратить время на загрузку и ast-parsing кода который никогда в течении жизни данного процесса не будет использован