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/ |