6194 подписчика
Как оценить реальную производительность своего кода.
Код, который мы пишем, и который будет исполнен процессором, — две разные вещи. На уровне ассемблера существует миллион вариантов, в каком виде интерпретировать и запустить высокоуровневые команды.
И способ интерпретации исходного кода в ассемблерные команды зависит от версии и настроек компилятора, а также от целевой платформы. И только видя результат компиляции — итоговый машинный код — можно понять, как он будет работать. Если получается не оптимально, то внести соответствующие изменения в исходник, попробовать другой компилятор или другие настройки.
Для такой оптимизации хочется в реальном времени наблюдать, к каким изменениям в машинном коде приводит редактирование исходника. Посмотрим на инструменты, которые выполняют такую трансляцию на лету: Compiler Explorer (Godbolt), uiCA, Quick C++ Benchmark, а также на Sharplab.io, который специализируется на быстрой компиляции C#.
Около минуты
21 ноября 2022