Коды C++ и Haskell различаются по времени выполнения на разных машинах.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Коды C++ и Haskell различаются по времени выполнения на разных машинах.

Сообщение Anonymous »

Я хочу спросить вас, чем может быть вызвана такая разница. Если я скомпилирую следующие программы и запущу ОДИН ЖЕ БИНАРНЫЙ файл - на некоторых платформах результат, полученный из кода 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»