Я хочу спросить вас, чем может быть вызвана такая разница. Если я скомпилирую следующие программы и запущу ОДИН ЖЕ БИНАРНЫЙ файл - на некоторых платформах результат, полученный из кода 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++
Программы на C++. Форум разработчиков
1736682077
Anonymous
Я хочу спросить вас, чем может быть вызвана такая разница. Если я скомпилирую следующие программы и запущу ОДИН ЖЕ БИНАРНЫЙ файл - на некоторых платформах результат, полученный из кода C++, будет намного быстрее, чем код Haskell, на других ситуация противоположная.
Кроме того, существует большая разница в производительности финальных двоичных файлов в зависимости от платформы, на которой они были созданы. (Каждая платформа использует одни и те же флаги и одни и те же версии LVM и clang)
Коды оптимизированы и должны работать с одинаковой производительностью - см.: Может ли Haskell оптимизировать функцию, вызывающую так же, как это делает Clang/GCC?
[b]Я хочу спросить вас, как это возможно.[/b]
Код 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
Подробнее здесь: [url]https://stackoverflow.com/questions/17412348/c-and-haskell-codes-differs-in-execution-time-on-different-machines[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия