Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Andrey Tereschenko Гость
|
Добавлено: Вт Авг 31 2004 19:08 Заголовок сообщения: Что быстрее Паскаль или Ассемблер |
|
|
Работал с алгоритмом БПФ (быстрое преобразование Фурье) на Паскале, который работает с вещественными числами. Этот алгоритм был реализован полнотью на ассемблере с использованием математического сопроцесора. В конце получился парадокс при сравнении алгоритмов: на Паскале алгоритм работает быстрее в 2 раза на Целероне, а на 486 процессоре наоборот на ассемблере быстрее в 2 раза. Кто подскажет в чем может быть проблема. Все доку перерыл, не могу найти ответа. Может быть как-то нужно отдельно обрабатывать исключения команд сопроцессора или проблема с паралленостью выполнения. Может быть как-то отключать точность вычилсений или переводить сопроцесор в другой режим. Смотрел код Паскаля на ассемблере, вроде бы ничего другого.
Помогите решить трабл, а то получается, что работа проведена вхолостую. |
|
Вернуться к началу |
|
 |
GREA
Зарегистрирован: 14.05.2003 Сообщения: 758 Откуда: Новосибирск
|
Добавлено: Ср Сен 01 2004 11:26 Заголовок сообщения: |
|
|
Скорость работы программы, зависит больше не от языка, а от того, откуда растут руки.
Впрочем, если руки золотые, неважно откуда они произрастают. |
|
Вернуться к началу |
|
 |
Гость
|
Добавлено: Ср Сен 01 2004 11:46 Заголовок сообщения: |
|
|
Паскаль не быстрее ассемблера. Их скорость никто не мерил =)
А вот программа МОЖЕТ быть быстрее. Все правильно написал автор выше - зависит от того насколько правильно алгоритм был продуман изначально, и насколько хорошо реализован.
Видимо Паскалевский компилятор сгенерировал более эффективный код, чем тот что у вас на асме написан.
Кроме того, вполне возможно что компилятор выполнял оптимизацию кода по Pentium, в результате код более эффективно исполнялся на процессоре Celeron (прочитайте про конвееры и про устройство процессора).
И, наконец, если Вам так интересно почему так получилось - посмотрите в отладчике код, сгенерированный компилятором Паскаля и сравните его с тем что у Вас написано на ассемблере.
P.S.
Ferrari тоже потенциально быстрее Жигулей. Но если с него снять хотя бы одно колесо то эффект будет несколько иной =) |
|
Вернуться к началу |
|
 |
совсем незнакомый
Зарегистрирован: 24.12.2003 Сообщения: 183 Откуда: Israel
|
Добавлено: Чт Сен 02 2004 03:38 Заголовок сообщения: |
|
|
Насчёт Жигулей: так вы имели в виду, что если снять с Жигулей колесо,
то он перегонит Феррари ? |
|
Вернуться к началу |
|
 |
NetFantom
Зарегистрирован: 27.01.2004 Сообщения: 41 Откуда: Санкт-Петербург
|
Добавлено: Чт Сен 02 2004 12:20 Заголовок сообщения: |
|
|
Не совсем так....хотя смотря как пнуть, конечно  |
|
Вернуться к началу |
|
 |
GREA
Зарегистрирован: 14.05.2003 Сообщения: 758 Откуда: Новосибирск
|
Добавлено: Чт Сен 02 2004 19:11 Заголовок сообщения: |
|
|
Цитата: | Не совсем так....хотя смотря как пнуть, конечно |
Жигулек сзади или Феррару спереди? |
|
Вернуться к началу |
|
 |
NetFantom
Зарегистрирован: 27.01.2004 Сообщения: 41 Откуда: Санкт-Петербург
|
Добавлено: Пт Сен 03 2004 18:53 Заголовок сообщения: |
|
|
Хотел спошлить....не буду. И вообще это уже ОФФТОПИК! |
|
Вернуться к началу |
|
 |
|