OberonCore
https://forum.oberoncore.ru/

Сравнение компиляторов f95, ifort, xds, blackbox
https://forum.oberoncore.ru/viewtopic.php?f=61&t=4482
Страница 2 из 2

Автор:  Rifat [ Вторник, 01 Август, 2017 10:58 ]
Заголовок сообщения:  Re: Сравнение компиляторов f95, ifort, xds, blackbox

В BlackBox скорее всего есть оптимизация, связанная с вычислением констант на этапе компиляции. Если обе части бинарной операции константы, то результат вычисляется на этапе компиляции. Например, CONST MegaByte = 1024 * 1024; Умножение будет выполнено на этапе компиляции и будет получен результат 1048576.

Допустим есть выражение y := x + 100 + 1, то казалось бы, компилятор используя такую простую оптимизацию должен вычислить 100 + 1 и сразу подставить 101, но если компилятор рассматривает выражение, как y := ((x + 100) + 1), то выражение в первых скобках не является константой поэтому и +1 не будет прибавляться, а все эти операции будут выполняться в run-time. А, если, допустим, написать, y := 100 + 1 + x, то компилятор сможет на этапе компиляции вычислить 100 + 1, так как будет вычислять y := ((100 + 1) + x).

Автор:  Valery Solovey [ Вторник, 01 Август, 2017 22:17 ]
Заголовок сообщения:  Re: Сравнение компиляторов f95, ifort, xds, blackbox

Не знаю, как сделано в Блекбоксе, но всё оно будет вычисляться.

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/