LINUX.ORG.RU

Скорость работы проги

 , ,


0

4

Пишу на двух машинах (дом и работа), на одной стоит Phenom II x4 + гента, на другой - Core i5 + венда. Памяти поровну.

Пишу расчет газодинамики, не вдаваясь в подробности быстродействие было 243 и 210 секунд на 1000 циклов соответственно.

Перегребал свой говнокод на предмет тормозов, нашел пачку копирований вместо ссылок и прочего. Исправил. Результат: AMD - 212 секунд на 1000 циклов, Intel - 41 секунда.

Флаги компиляции, данные, код - все одно. На линуксе собираю GCC, на венде - MinGW.

WTF? Неужели AMD настолько тормознее интела?

★★★★★

На арифметике - да, АМД тормознее. Но настолько - это фантастика.

fragmentor
()

У вас эксперименты прямо как в американских «научных» телешоу - позапускать гонвокод на разных ОС и сделать выводы о железе.

Citramonum ★★★
()
Ответ на: комментарий от Citramonum

Из сторонних либ там только ZLib и VTK. По поводу последнего - от него тормоза не такие большие, проверял.

В чем в данном случае будет разница из-за ОС кроме этого?

upcFrost ★★★★★
() автор топика

Интересно, а что профайлер показывает?

AF ★★★
()
Ответ на: комментарий от anonymous

Профильнул, собственно таким образом и нашел пачку косяков. Но то под вендой делал. На линуксе все руки не доходят

upcFrost ★★★★★
() автор топика
Ответ на: комментарий от exhu

да. Под линуксом пробовал и native, и amdfam10 - один черт

upcFrost ★★★★★
() автор топика

Запусти под perf'ом, видно будет почему.

mv ★★★★★
()
Ответ на: комментарий от true_admin

без сырцов и флагов компиляции можно гадать до опупения

Как будто флаги что-то скажут.

mv ★★★★★
()

профайлер? не не слышал

anonymous
()
Ответ на: комментарий от true_admin

Обычно юзаю -O3 (т.к. большая часть проги STL), пробовал -O2 - оказалось на секунду медленнее

upcFrost ★★★★★
() автор топика
Ответ на: комментарий от mv

1) я попросил уточнить условия эксперимента. Это шаг N1 в выявлении подобных проблем. Ты с этим не согласен?

2) Ты уверен что настолько хорошо знаешь все флаги gcc всех версий и какой-нить -march=pentium4 не вызовет проблем с производительностью на на атлонах?

true_admin ★★★★★
()

Какие конкретно процессоры? Насколько утилизированы воможности многопоточности?

cdshines ★★★★★
()

Пишу на двух машинах (дом и работа), на одной стоит Phenom II x4 + гента, на другой - Core i5 + венда. Памяти поровну.

Точные модели обоих процессоров, материнских плат, оперативки (частота), где все это?

Ванга подсказывает что тс купил амд компьютер в 2008 году, интел компьютер в 2012 году.

bhfq ★★★★★
()
Последнее исправление: bhfq (всего исправлений: 1)
Ответ на: комментарий от true_admin

2) Ты уверен что настолько хорошо знаешь все флаги gcc всех версий и какой-нить -march=pentium4 не вызовет проблем с производительностью на на атлонах?

Не вызовет таких проблем (212 против 41)? Конечно уверен.

mv ★★★★★
()
Ответ на: комментарий от bhfq

Да и фены x4 тоже разные бывают, мб ноутбучный серии «M» ;)

Linuxman
()

больше всего похоже на кеш

Я когда-то показывал, как мой ноутбук на Pentium M умножает матрцы быстрее 2-процессорного сервера на свежевышедших тогда Opteron-ах.

anonymous
()

Профильнул, опять на венде. На втором месте (ожидаемо) zlib. На первом - fmax O_o

Может я что-то делаю не так? Юзаю Very Sleepy

upcFrost ★★★★★
() автор топика
Ответ на: комментарий от upcFrost

Все, тупанул, флаги не те. Основной тормоз - VTK, вернее его zlib. За ним следует дыша в пятки присваивание переменных в векторе (там структура). Это печально

upcFrost ★★★★★
() автор топика
Последнее исправление: upcFrost (всего исправлений: 1)

Профильнул на венде на AMD (на работе линукс ставить некогда). Результат неутешительный. Одна и та же прога на одной и той же венде. Разница только в железе. Показания те же - 212 против 40 (еще чуть подчистил).

Судя по тому, что вижу - AMD намного тормознее обрабатывает векторы (вернее все кроме их создания) и структуры. Очень сильно тормознее. Хз почему, надо уже в асме смотреть на чем оно вешается. Внезапно вверх тормозов вылезло возведение в квадрат.

Зато внезапно VTK стал работать шустрее (видимо на общем фоне). И работа с выделением памяти (создание/перемещение вектора) довольно быстрая.

Может кстати и правда кэш - у i5 он на четверть больше. Хотя хз

upcFrost ★★★★★
() автор топика
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от upcFrost

Попробуй прикрутить sse, если так важно?

Правда, «прикрутить» здесь значит, скорее, «переписать заново нужные места», но...

cdshines ★★★★★
()
Последнее исправление: cdshines (всего исправлений: 1)
Ответ на: комментарий от upcFrost

По кешам они одинаковые, только что у AMD L1 128, Intel L1 64, не? Трудно искать так информацию, много модификаций.

bhfq ★★★★★
()
Ответ на: комментарий от bhfq

Твоя правда, ща глянул - и правда один к одному почти. Сначала не ту модель смотрел

upcFrost ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

В смысле вычислений? Да, все норм просчитывает

upcFrost ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.