Помогите с ООП - страница 8

 
Просьба модераторам: почистите ветку плиз от нашего словоблудия.
 
Не надо чистить. Пусть останется в назидание потомкам. 
 
fxsaber #:

Некорректное сравнение, т.к. не учитывается время на автоматическое удаление объектов.

Изменил.

Откуда берутся 123 мегабайта после V3 - не знаю.

Вопрос, сколько раз в Вашем бенчмарке прогоняется каждая функция?

Нужен вывод среднего времени, количества прогонов и stddev.
 
Vasiliy Sokolov #:

Вопрос, сколько раз в Вашем бенчмарке прогоняется каждая функция?

Ровно один раз.

Нужен вывод среднего времени, количества прогонов и stddev.

В боевом советнике интересуют всплески лагов. Теоретическими экспериментами не сильно занимался, поэтому подобную штуку не делал.

 

Vasiliy Sokolov #:

Нет, корректное. И это принципиальный момент. Автоматическое удаление происходит не в основном потоке, где стоимость времени крайне дорогое.

К сожалению, если замерить внутри функции и снаружи, то время разное. Внутри - быстрее. Т.е. удаление объектов как-то влияет. Поэтому про другой поток версия немного сомнительна.

Второй момент. Обратите внимание на V2. Там нет удаления объектов и целенаправленно допущена прямая утечка памяти. Даже в этом случае выделение объектов идет 1.4 сек. против 1.2 в V1, хотя время на удаление не тратится вообще.

У меня картина обратная.

 

Во время выполнения mql программы никакой сборщик ничего не удаляет, ни в том же потоке, ни в другом.

Сборщик номинально присутствует, но он выполняется только по завершению работы модуля. Сообщения про leaked memory в журнале - это как раз сборщик.

 
fxsaber #:

Ровно один раз.

В таком случае бенчмарк нерелевантен. По крайней мере не для меня.
 
Vasiliy Sokolov #:
В таком случае бенчмарк нерелевантен. По крайней мере не для меня.

Дело не в моей реализации. Замерить можете по-старинке.

 
fxsaber #:

Поэтому про другой поток версия немного сомнительна.

Ок.
 
Вообще никто не говорит о каком-то полноценном GC. Есесно такого нет, а есть очень упрощённая штука работающая своеобразно.