Для системы сериализации мне нужно выделить буферы для записи данных.Необходимый размер заранее неизвестен, поэтому базовый шаблон должен составлять malloc
N
байт и использовать realloc
, если требуется больше.Размер N
будет достаточно большим, чтобы вместить большинство объектов, что делает перераспределение редким.
Это заставило меня подумать, что, вероятно, существует оптимальное начальное количество байтов, которое malloc
может удовлетворить легче, чем другие.Я предполагаю, что где-то близко к pagesize
, хотя не обязательно точно, если malloc
нужно немного места для ведения хозяйства.
Теперь я уверен, что это бесполезная оптимизация, и если это действительно имеет значение, ямог бы использовать бассейн, но мне любопытно;Я не могу быть первым программистом, который подумает, что даст мне любой кусок байтов, который проще всего выделить в качестве начала .Есть ли способ определить это?
Любой ответ на этот вопрос, который конкретно относится к современным GCC / G ++ и / или Linux, будет принят.