Сообщение 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
CM>Получается:
CM>1.6395053
CM>0.2299897
CM>Откуда здесь разница аж в 8 раз?
аххаха, смешно чувак открыл для себя что выделение памяти — не бесплатная операция .. (а тем более создание экземляра класса) ..
вкратце, в первом случае ты изначально выделил место под массив указателей на объекты класса, а потом выделяешь память (в цикле) — под каждый объект класса и присваиваешь указателю ..
очевидно что это дикий жир (в т.ч. требующий вызова системных функций и т.д.) — по сравнению с тем чтобы просто выделить память под массив (одним куском) и лупить (в цикле) туда пару значений переменных ..
вот тут показательный пример уже привели
http://rsdn.org/forum/dotnet/7467268.1
Автор: alexzzzz
Дата: 10.06.19
Дата: 10.06.19
Re: почему так медленно?
Здравствуйте, CodeMonkey, Вы писали:
CM>Получается:
CM>1.6395053
CM>0.2299897
CM>Откуда здесь разница аж в 8 раз?
аххаха, смешно чувак открыл для себя что выделение памяти — не бесплатная операция .. (а тем более создание экземляра класса) ..
вкратце, в первом случае ты изначально выделил место под массив указателей на объекты класса, а потом выделяешь память (в цикле) — под каждый объект класса и присваиваешь указателю .. (ссылку на него)
очевидно что это дикий жир (в т.ч. требующий вызова системных функций и т.д.) — по сравнению с тем чтобы просто выделить память под массив (одним куском) и лупить (в цикле) туда пару значений переменных ..
вот тут показательный пример уже привели
http://rsdn.org/forum/dotnet/7467268.1
CM>Получается:
CM>1.6395053
CM>0.2299897
CM>Откуда здесь разница аж в 8 раз?
аххаха, смешно чувак открыл для себя что выделение памяти — не бесплатная операция .. (а тем более создание экземляра класса) ..
вкратце, в первом случае ты изначально выделил место под массив указателей на объекты класса, а потом выделяешь память (в цикле) — под каждый объект класса и присваиваешь указателю .. (ссылку на него)
очевидно что это дикий жир (в т.ч. требующий вызова системных функций и т.д.) — по сравнению с тем чтобы просто выделить память под массив (одним куском) и лупить (в цикле) туда пару значений переменных ..
вот тут показательный пример уже привели
http://rsdn.org/forum/dotnet/7467268.1
Автор: alexzzzz
Дата: 10.06.19
Дата: 10.06.19