LINUX.ORG.RU

История изменений

Исправление eao197, (текущая версия) :

Если очевидно, что на каждый запрос нужна память, почему не иметь её зарание?

Хотя бы потому, что вы обрабатываете разные запросы и не можете знать заранее сколько памяти под конкретный запрос потребуется.

Например, к вам приходит REST-запрос и вы даже сразу не знаете (в момент начала чтения данных из сокета) сколько именно заголовков в этом запросе будет.

Можно использовать политику «под каждый запрос свой аллокатор» на базе арены или чего-то подобного. Но это вообще другая история и тут есть нюансы с тем, меняется ли что-то в состоянии сервера после выполнения запроса (т.е. могут ли объекты, созданные в процессе выполнения запроса, пережить сам запрос).

Исходная версия eao197, :

Если очевидно, что на каждый запрос нужна память, почему не иметь её зарание?

Хотя бы потому, что вы обрабатываете разные запросы и не можете знать заранее сколько памяти под конкретный запрос потребуется.

Например, к вам приходит REST-запрос и вы даже сразу не знаете (в момент начала чтения данных из сокета) сколько именно заголовков в этом запросе будет.

Можно использовать политику «под каждый запрос» свой аллокатор на базе арены или чего-то подобного. Но это вообще другая история и тут есть нюансы с тем, меняется ли что-то в состоянии сервера после выполнения запроса (т.е. могут ли объекты, созданные в процессе выполнения запроса, пережить сам запрос).