Информация об изменениях

Сообщение Re: почему так медленно? от 13.06.2019 0:32

Изменено 13.06.2019 0:34 itmanager85

Re: почему так медленно?
Здравствуйте, CodeMonkey, Вы писали:

CM>Получается:


CM>1.6395053

CM>0.2299897

CM>Откуда здесь разница аж в 8 раз?


аххаха, смешно чувак открыл для себя что выделение памяти — не бесплатная операция .. (а тем более создание экземляра класса) ..

вкратце, в первом случае ты изначально выделил место под массив указателей на объекты класса, а потом выделяешь память (в цикле) — под каждый объект класса и присваиваешь указателю ..

очевидно что это дикий жир (в т.ч. требующий вызова системных функций и т.д.) — по сравнению с тем чтобы просто выделить память под массив (одним куском) и лупить (в цикле) туда пару значений переменных ..


вот тут показательный пример уже привели
http://rsdn.org/forum/dotnet/7467268.1
Автор: alexzzzz
Дата: 10.06.19
Re: почему так медленно?
Здравствуйте, CodeMonkey, Вы писали:

CM>Получается:


CM>1.6395053

CM>0.2299897

CM>Откуда здесь разница аж в 8 раз?


аххаха, смешно чувак открыл для себя что выделение памяти — не бесплатная операция .. (а тем более создание экземляра класса) ..

вкратце, в первом случае ты изначально выделил место под массив указателей на объекты класса, а потом выделяешь память (в цикле) — под каждый объект класса и присваиваешь указателю .. (ссылку на него)

очевидно что это дикий жир (в т.ч. требующий вызова системных функций и т.д.) — по сравнению с тем чтобы просто выделить память под массив (одним куском) и лупить (в цикле) туда пару значений переменных ..


вот тут показательный пример уже привели
http://rsdn.org/forum/dotnet/7467268.1
Автор: alexzzzz
Дата: 10.06.19