VBScript Массив объектов со свойствами по сравнению с параллельными массивами производительность / память - PullRequest
0 голосов
/ 01 марта 2012

В VBScript было бы лучше (с точки зрения производительности / памяти) использовать массив из ~ 100 000 объектов (классов) с 10 свойствами каждый, или 10 параллельных массивов (каждый из которых представляет свойство объекта), или мульти массив Размер массивов объявляется один раз.

1 Ответ

1 голос
/ 01 марта 2012

С точки зрения производительности, создание 100k объектов в массиве будет готово через секунду, если вы не сделаете какие-то затейливые (и требующие много времени) действия в подпрограмме Class_Initialize.Самое главное, чтобы инициализация была минимальной.Однако создание 10 массивов будет происходить мгновенно, но не используйте Redim (Preserve) в каждой итерации цикла, потому что каждый раз будет создаваться новый массив, а значения предыдущего будут копироваться в новый.

По памяти, было бы лучше создать 10 массивов для свойств.Экземпляр объекта занимает больше места в куче (для внутренних методов / свойств, таких как typename, hash и т. Д.), Чем массив.

Но работа с 10 различными массивами кажется мне не очень умным дизайнерским решением.Объекты являются гибкими и расширяемыми (вы можете использовать инкапсуляцию и проверку данных в самом объекте).Сделайте себе и своим коллегам одолжение: если вы не создаете часть «единожды программного обеспечения» (и зачем вы это создаете в первую очередь?), Определенно используйте объектный подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...