Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Тест на производительность, результаты 
:(
    Опции темы
Coder
  Дата 7.4.2005, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



Цитата(Perchilla)

Во вторых сравни количество нулей у числа в C++ и Pascal и ASM

Ой, извиняюсь smile короче с цифрой 2`000`000`000 Паскаль облажался - 26 сек.
Цитата(Perchilla)

Вот как оптимизирует цикл Visual C++

С какой версии VC++ есть такой оптимизатор? Есть ли такие возможности у C++Builder? (Я никогда не писал на С++ под виндой).
Что посоветуете C++Builder или VC++?
Цитата(Girder)

Код:
Код

for i:=200000000 downto 1 do;

будет преобразован в вот ентот код:
Код

mov eax,0f4143e00h    
Go:    
inc eax    
jnz Go


А что (какой компилер) это так код преобразовало? интересный подход и странный подход... ладно тут 2млрд, а если бы было число 10 в 2 байтовом регистре, он бы че весь 4 байтовый регистр ворошил на больших числах (начиная с 4294967286)?
Цитата(Girder)

Например у меня на p233MMX твой код медленне в 2 раза. У Coder явно тоже не современный комп

Athlon 952 smile
PM MAIL   Вверх
mb78
Дата 31.7.2008, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 11.7.2008

Репутация: нет
Всего: нет



Если сделать на ассемблере под Dos , но не через прерывания а через запись в память 
(правда сначала надо сформировать свою быструю подпрограмму вывода целых чисел)
то я думаю такая программа будет длиться меньше секунды.
Для программ Dos  число 100000 повторений в 10-чной системе счисления это ничто.
Dos может перебрасывать блоки по 65535(ffffh) сотни раз в секунду.
А в Windows почти весь вывод на экран происходит через API , многие из которых работают очень медленно.
Например я пробовал закрашивать небольшой квадратик через API функцию SetPixel , и у
меня программа длилась несколько секунд. К тому же в Windows работает сразу много процессов
поэтому они замедляют друг друга.Для лучшей проверки вашего теста попробуйте загрузить
Windows в безопасном режиме , там меньше процессов и пограммы выполняются быстрее,
например у меня в несколько раз.

А почему в С+ получилось быстрее,я думаю возможно оттого , что в С+ для быстродействия вывод
сначала идет не не экран , а в память , и перебрасывается на экран несколько раз в секунду все
содержимое что нужно вывести.

PM MAIL   Вверх
Diabolus
Дата 24.9.2008, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 12.6.2007

Репутация: нет
Всего: нет



Код

mov ecx,2000000000
tst:
loop tst

0m1.352s
(P4 - 3GHz)

Это сообщение отредактировал(а) Diabolus - 24.9.2008, 15:08
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0630 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.