Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
если написать такие классы:
судя по Вашему исследованию класс В будет медленнее выполняться если часто использовать поля структуры при расчетах?
Так-то обсуждалось время обхода массива объектов)))
По Вашему примеру в плюсах одинаково будет, а вот в mql - нюанс, тут есть два неявных поля, которые первыми идут, поэтому, к полю data, обращение пойдет по смещению, то есть дополнительные вычисления при разыменовании будут.
Так-то обсуждалось время обхода массива объектов)))
По Вашему примеру в плюсах одинаково будет, а вот в mql - нюанс, тут есть два неявных поля, которые первыми идут, поэтому, к полю data, обращение пойдет по смещению, то есть дополнительные вычисления при разыменовании будут.
Спасибо, это полезно!
Так-то обсуждалось время обхода массива объектов)))
По Вашему примеру в плюсах одинаково будет, а вот в mql - нюанс, тут есть два неявных поля, которые первыми идут, поэтому, к полю data, обращение пойдет по смещению, то есть дополнительные вычисления при разыменовании будут.
Так, что никакой мистики - законы физики в действии.
Не укладывается в "законы физики".
Парадоксальный результат получился. Более сложные вычисления производятся в 1.5 раза быстрее и не зависят от размера.
Так-то обсуждалось время обхода массива объектов)))
По Вашему примеру в плюсах одинаково будет, а вот в mql - нюанс, тут есть два неявных поля, которые первыми идут, поэтому, к полю data, обращение пойдет по смещению, то есть дополнительные вычисления при разыменовании будут.
Спасибо Владимир за ассемблерное исследование.
И как предполагает Алексей, оверхед создают классы.
Из этого можно сделать вывод, если можно обойтись без класса, лучшие писать код в процедурном стиле.
То есть если задача не требует скоростей, то можно обернуть в класс, если же это работа к примеру с тиками, то лучше использовать напрямую без обёрток.
В принципе такого похода я и придерживался, и зачастую найдя какой нибудь пример класса, я разбираю его методы на процедурный подход.
Спасибо Владимир за ассемблерное исследование.
И как предполагает Алексей, оверхед создают классы.
Из этого можно сделать вывод, если можно обойтись без класса, лучшие писать код в процедурном стиле.
То есть если задача не требует скоростей, то можно обернуть в класс, если же это работа к примеру с тиками, то лучше использовать напрямую без обёрток.
В принципе такого похода я и придерживался, и зачастую найдя какой нибудь пример класса, я разбираю его методы на процедурный подход.
На форуме завелся какой-то троль...
Раньше не понимал зачем некоторые пользователи просят ввести функцию игнора, ах как ее теперь не хватает...
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Вопросы по ООП в MQL5
fxsaber, 2020.05.30 14:06
Даже возиться не хочу. Сделал простые структуры.
По какой причине доступ к первому полю простой структуры зависит от ее размера - не понятно.
Для структур размером 20 и 84 байт - это соответственно 0.93 ГБ и 3.91 ГБ данных.
И в рамка вашего расчета, предположительно, вся эта память пройдет через кеш процесора.
И весьма логичным объяснением полученных результатов может быть то, что данные размером 0.93 ГБ загрузится из памяти в кеш процессора в четыре разы быстрее, чем данные размером 3.91 ГБ.
А что там с результатами теста на С++?
А то ассемблеровский код видел, а результатов тестов - нет, или плохо смотрел?
На форуме завелся какой-то троль...
Раньше не понимал зачем некоторые пользователи просят ввести функцию игнора, ах как ее теперь не хватает...
Ты бы за собой следил, а не за другими.
Не тебе и не для тебя был ответ.
Игнорируй молча ))
Для структур размером 20 и 84 байт - это соответственно 0.93 ГБ и 3.91 ГБ данных.
И в рамка вашего расчета, предположительно, вся эта память пройдет через кеш процесора.
И весьма логичным объяснением полученных результатов может быть то, что данные размером 0.93 ГБ загрузится из памяти в кеш процессора в четыре разы быстрее, чем данные размером 3.91 ГБ.
А что там с результатами теста на С++?
А то ассемблеровский код видел, а результатов тестов - нет, или плохо смотрел?
Спасибо Владимир за ассемблерное исследование.
И как предполагает Алексей, оверхед создают классы.
Из этого можно сделать вывод, если можно обойтись без класса, лучшие писать код в процедурном стиле.
То есть если задача не требует скоростей, то можно обернуть в класс, если же это работа к примеру с тиками, то лучше использовать напрямую без обёрток.
В принципе такого похода я и придерживался, и зачастую найдя какой нибудь пример класса, я разбираю его методы на процедурный подход.
Структуру вместо класса можно, с ними все норм.