
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как оказалось, компилятор не только выполняет оператор присваивания, но еще и на каждой итерации создает объект. "Что вижу, то и пою". Вот и задаюсь вопросом, где оптимизация компилятором?
Да любой компилятор в этом случае(если код будет именно в таком виде), так и сделает.
Меня удивляет что вас это удивляет
Azat смотрите пожалуйста кнопку "код" для вставки, что-бы он выглядел как в редакторе
Спасибо большое!
Переделал
Просто наблюдение..
По какой-то причине первый и третий вариант после переписывания стал выполняться в 20 раз медленнее. В упор не вижу причину замедления. Не хочется верить, что компилятор вытворил такое.
Да любой компилятор в этом случае(если код будет именно в таком виде), так и сделает.
Меня удивляет что вас это удивляет
Не программист. Исходил из логики целесообразности/эффективности.
По какой-то причине первый и третий вариант после переписывания стал выполняться в 20 раз медленнее.
процессорный кэш? есть у RAM кэш, например приложение simpletv, размер около 600мб, стоит на слабом винте -помойка 2,5 sata II, после рестарта windows загружается реально долго, пол минуты, но стоит запустить разок и даже после 6 часов он загружается моментально,
в windows стоит 50мб виртуальной памяти, для работы служб
windows 10, 64gb RAM, Ryzen 5700x
Не программист. Исходил из логики целесообразности/эффективности.
Если бы мне пришлось писать ваши подсчеты сумм, то сделал бы через ООП, конечно.
Но если совсем по-быстрому, то вот так скорее всего:
Производительность как у третьего, но читать чуть легче(мне).
Если бы мне пришлось писать ваши подсчеты сумм, то сделал бы через ООП, конечно.
Но если совсем по-быстрому, то вот так скорее всего:
Производительность как у третьего, но читать чуть легче(мне).
Так и мне читать легче. Тут же нужно было создать пример, который был бы более-менее лаконичен и понятен для обсуждения. Обсуждаем не этот в точности пример, а концепцию.
По какой-то причине первый и третий вариант после переписывания стал выполняться в 20 раз медленнее. В упор не вижу причину замедления. Не хочется верить, что компилятор вытворил такое.
Нашел - не принтовался результат выполнения функции, поэтому оптимизатор (он есть!) компилятора выкидывал то, что использоваться все равно не будет. Исправил исходник. Второй вариант все равно аутсайдер.
В общем, вывод такой, что в компиляторе оптимизатор есть, но вот с такой простой задачей не справляется.
Рекомендую проверить наличие в своих исходниках "второго варианта" (или, что еще хуже, "четвертого") и устранить его. Как быстро проверить - непонятно.
Const модификаторы в C/С++ подобных языках сделаны для контроля случайных модификаций программистами + по мелочи.
В оптимизации кода практически нулевое влияние. Тем более на современных C++ компиляторах, которые и без программиста прилично вычисляют изменяемость переменных.