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