Pull to refresh
34
0
Евгений Сидоренко @reatfly

Пользователь

Send message

Хорошая статья!
И замечание по роутингу:


strncmp(path.Data, "/users", 6) == 0

Такая проверка сработает и на /usersevil. Конечно, неизвестно, что там скрыто в handleGetUser(), но лучше проверять длина + 1 и следующий байт.

Спорткары, в которых топлива только на один круг и все повороты левые :)
Ждем, ждем!
И статью от организаторов ждем :D
libevent не рассматривал по двум причинам:
1. Я про не знал (но теперь знаю)
2. Когда дело дошло до сокетов и epoll, время поджимало, и мне было проще сделать это все руками.
И я полностью согласен, что если делать не решение, заточенное под конкретный конкурс, то сторонние библиотеки/сервера будут лучше. Хотя бы потому, что их уже не нужно писать и тестировать.
Как известно, 20% кода занимают 80% времени.

И кажется, конкретно в этом случае выстрелило сочетание epoll + busy wait, и все остальные реализации заведомо проигрывали.
Да, уже в прошлом. Можно пробовать в следующий раз :)
Хотя песочница еще вроде работает, можно попробовать.
Это всегда проблема подобных соревнований: либо синтетика, либо очень сложно как для участников, так и для организаторов. Конкретно в этом случае я соглашусь: толку нет, потому что это было тестовое соревнование на попробовать, взлетит или нет, и по словам организаторов, они рассчитывали на 100 человек, а в итоге было 400+ решений в рейтинге.

Вот тут участники своими идеями делятся на будущее: github.com/sat2707/hlcupdocs/issues/94
Там можно писать все, что угодно :)
У одного из участников в топ-10 было написано php + что-то, но реально там был С/С++.
Я c танком не разбирался и локально не использовал, но его точно можно использовать для своего проекта. Наверно этот вопрос стоит начать изучать с оф документации на гитхабе.
Это было море удовольствия! Спасибо!
Busy wait — это общее название техники, когда процесс/поток не блокируется, а просто в цикле проверяет наступление какого-то условия. Из плюсов — очень низкие задержки. Из минусов — потребляется 100% процессорного времени. Busy wait
Ответ на вопрос: да, никаких дополнительных изменений в коде, просто меняется последний параметр у epoll().

Information

Rating
4,894-th
Location
Baden-Württemberg, Германия
Date of birth
Registered
Activity