Самое важное не указали, что за протокол-то? Трудно себе представить, что на сегодня есть некое чудо, работающее открытым текстом - везде как минимум HTTPS
Adamos, у вас на каждый push_back делается проверка на то, а не кончился ли буфер, а возле этой проверки тащится несколько сотен инструкций, которые должны мувнуть данные, если таки кончился. Оно вам надо, кэш бессмысленным кодом забивать?
Adamos, смотреть на средние значения по 1000000 прогонов, а также на сам код - что компилятор не отлынивал, а применил развертку циклов, векторизацию и оптимизацию кэша
И еще один лайфхак - сделать тред с busy-wait и максимально точным отсчетом времени, и передавать из него в рабочий поток количество тиков с помощью атомарной переменной.
Adamos, вызывать функции замера времени чаще раз в сотни миллисекунд - расточительно и не правильно. У них будет или большое время работы (порядка единиц этих миллисекунд), или погрешность порядка 16 мс, если мы говорим о GetTickCount()
Антон Жилин, есть определенная разница в том, в каком порядке будут происходить события создания в JAVA и в C++. И эта разница становится существенной, когда речь заходит о реализации принципа "вы не платите в C++ за то, что не используете"
Да и в целом некорректно сравнивать язык, в котором рантайм управляет временем жизни объектов и C++, в котором создание и удаление объектов происходит только вручную. Списки инициализации позволяют сделать это управление тонконастраиваемым.
Идею про километровый пароль не стоит транслировать. Грамотнее говорить, что любой доступ, кроме доступа по ключу следует отключить, поправив /etc/ssh/sshd_config
Потому что кроме админской учетки с длинным, якобы надежным паролем, рядом может оказаться учетка субподрядчика с паролем asd$321 и прочие прелести.
Потому что в результате ярых экспериментов кто-то сдуру может задать такой пароль учетке postgres или mysql, что автоматически сделает ее доступной для логина.
Потому что текстовый пароль может храниться в каком-то дурацком месте, особенно если речь идет о фирме (типа гуглодока с доступом по ссылке).
Денис Загаевский, А теперь встройте свои идеи в C++ так, чтобы старый код, в который вложены миллионы баксов и человекочасов R&D продолжал собираться и не терял скорости и предсказуемости.