Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Встроенный в Msvs ассемблер -- обмен двух ячеек памяти -- что быстрее?

13K
04 декабря 2005 года
Offshore
7 / / 08.11.2005
Необходимо поменять местами две ячейки памяти. Для этого написан маленькую прогу...
Пожалуйста, не поленитесь, запустите у себя и запостите сюда результат (и процессор, на котором тестировали).

Кстати сказать, если написать tmp = a[0]; a[0]=a[1]; a[1] = tmp; -- это будет немногим медленнее mov версии.

Исходник в аттаче.

P.S. Приводите время для указанного в программе числа повторений (0x2FFFFFFF) и, пожалуйста, не меняйте его.
13K
04 декабря 2005 года
Offshore
7 / / 08.11.2005
CPU: AMD Athlon64 Dual Core 3800+ не разогнан.

 
Код:
Starting up...
XCHG version required 21140 ms.
XCHG-MOV version required 8453 ms.
MOV-XOR version required 4437 ms.
STACK version required 4422 ms.
MOV version required 3125 ms.
398
05 декабря 2005 года
Alexandoros
630 / / 21.10.2005
Athlon XP 2200+

Starting up...
XCHG version required 26954 ms.
XCHG-MOV version required 11140 ms.
MOV-XOR version required 5640 ms.
STACK version required 5344 ms.
MOV version required 2922 ms.

Странно что самый простой способ оказался самым быстрым, не находите?:D
13K
05 декабря 2005 года
Offshore
7 / / 08.11.2005
Цитата:
Странно что самый простой способ оказался самым быстрым, не находите?:D



Кстати, я заметил что на пнях 4х стек работает гораздо медленнее...
И ещё -- он хоть и самый простой -- но и самый ресурсоёмкий -- аж 2 регистра надо задействовать...

2.9K
08 декабря 2005 года
RYM
109 / / 06.06.2005
ясный перец xchg
15K
10 декабря 2005 года
Idle
1 / / 10.12.2005
Athlon XP 1600
Starting up...
XCHG version required 34900 ms.
XCHG-MOV version required 14812 ms.
MOV-XOR version required 5978 ms.
STACK version required 7081 ms.
MOV version required 3655 ms.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог