Я хочу спросить вас, чем может быть вызвана такая разница. Если я скомпилирую следующие программы и запущу ОДИН ЖЕ БИНАРНЫЙ файл - на некоторых платформах результат, полученный из кода C++, будет намного быстрее, чем код Haskell, на других ситуация противоположная.
Кроме того, существует большая разница в производительности финальных двоичных файлов в зависимости от платформы, на которой они были созданы. (Каждая платформа использует одни и те же флаги и одни и те же версии LVM и clang)
Коды оптимизированы и должны работать с одинаковой производительностью - см.: Может ли Haskell оптимизировать функцию, вызывающую так же, как это делает Clang/GCC?
Я хочу спросить вас, как это возможно.
Код C++:
#include
#include
int b(const int x){
return x+5;
}
int c(const int x){
return b(x)+1;
}
int d(const int x){
return b(x)-1;
}
int a(const int x){
return c(x) + d(x);
}
int main(int argc, char* argv[]){
printf("Starting...\n");
long int iternum = atol(argv[1]);
long long int out = 0;
for(long int i=1; i Int
b x = x + 5
c x = b x + 1
d x = b x - 1
a x = c x + d x
main = do
putStrLn "Starting..."
args
Подробнее здесь: https://stackoverflow.com/questions/174 ... t-machines
Коды C++ и Haskell различаются по времени выполнения на разных машинах. ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Доступ к файлу конфигурации с помощью pyinstaller, распространяемого на разных машинах
Anonymous » » в форуме Python - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Почему `blake2b` в массиве `numpy` дает разные результаты на разных машинах?
Anonymous » » в форуме Python - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-