LINUX.ORG.RU

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

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

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

Нижнюю границу оценить можно? Медиану оценить можно? Или сколько обычно нужно памяти, чтобы оценить в рантайме, сколько нужно памяти? Скажем, 1КБ хватит для контекста и зоголовков, чтобы не дёргать аллокатор 1+C1*кол-во_заголовков+C) раз на каждый запрос, посчитать (прикинуть) сколько памяти надо дальше и тогда уже вызвать аллокатор? Если хватит — то это всего полгига на 500000 контекстов.

Можно использовать политику «под каждый запрос свой аллокатор» на базе арены или чего-то подобного.

Тоже отличная штука!

могут ли объекты, созданные в процессе выполнения запроса

и вот их аллоцировать не на арене запроса, а в долгоживущем сторедже. Это, конечно, нюанс. Но, кажется, не такой уж большой?

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

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

Нижнюю границу оценить можно? Медиану оценить можно? Или сколько обычно нужно памяти, чтобы оценить в рантайме, сколько нужно памяти? Скажем, 1КБ хватит для контекста и зоголовков, чтобы не дёргать аллокатор 1+C1*кол-во_заголовков+C) раз на каждый запрос, посчитать (прикинуть) сколько памяти надо дальше и тогда уже вызвать аллокатор? Если хватит — то это всего полгига на 500000 контекстов.

Можно использовать политику «под каждый запрос свой аллокатор» на базе арены или чего-то подобного.

Тоже отличная штука!

могут ли объекты, созданные в процессе выполнения запроса

и вот их аллоцировать не на арене запроса, а в должгоживущем сторедже. Это, конечно, нюанс. Но, кажется, не такой уж большой?