Разница между getizeof () и nbytes [duplicate]

Образец появляется, когда несколько человек (или команды) приходят к аналогичным или идентичным решениям. Многие люди по-прежнему используют синглеты в своей первоначальной форме или используют фабричные шаблоны (хорошее обсуждение в Modern C ++ Design от Alexandrescu). Параллелизм и трудности в управлении временем жизни объекта являются основными препятствиями, при этом первый легко управляется, как вы предлагаете.

Как и все варианты, Singleton имеет свою долю взлетов и падений. Я думаю, что их можно использовать в умеренных количествах, особенно для объектов, которые выживают в течение срока службы приложения. Тот факт, что они напоминают (и, вероятно, есть) глобалы, предположительно выбрасывает пуристов.

0
задан Franck Dernoncourt 16 February 2016 в 01:59
поделиться

1 ответ

Это связано с тем, что nbytes возвращает размер сохраненных данных, а sys.getsizeof возвращает размер всего объекта, то есть размер сохраненных данных плюс некоторые накладные расходы. Для массивов numpy существует небольшая накладная плата, поскольку они должны хранить размеры массива, тип данных и аналогичную информацию.

3
ответ дан David Zwicker 22 August 2018 в 18:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: