Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
tvy2
0 / 0 / 0
Регистрация: 05.11.2008
Сообщений: 27
#1

Во сколько раз asm быстрее С++ - C++

08.12.2011, 15:03. Просмотров 1313. Ответов 3
Метки нет (Все метки)

Есть примерный фрагмент кода:
For i=0 to end1
For j=0 to end2
If massivA(i)=massivB(j) then massivC(k)=j
Next j
Next i

где
massivA, massivB - Byte массивы
massivC - integer массив
end1 и end2 порядка 10 000 000.

Во сколько раз такой код на Assemblere будет быстрее чем на C++?
В идеале надо раз в 100.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2011, 15:03     Во сколько раз asm быстрее С++
Посмотрите здесь:

C++ Сколько раз встречаются гласные буквы?
Определить сколько раз бросали кости? C++
Определить сколько раз в тексте встречается буква А и сколько раз буква С C++
Определить сколько раз слова встречаются в тексте и сколько непосредственно друг за другом. C++
C++ Сколько раз встречается символ в тексте
C++ Сколько раз среди заданных символов встречается символ "+" и сколько раз символ "*"
C++ В заданной строке подсчитать сколько раз встречается символ "*" и сколько раз символ "+"
C++ Сколько раз встречается максимальное число
C++ Сколько раз число входит в последовательность
Выяснить, во сколько раз z больше d C++
Определить, сколько раз заданные слова встречаются в тексте и сколько из них - непосредственно друг за другом C++
Сколько раз выполнится цикл while? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bazile
57 / 33 / 19
Регистрация: 15.03.2007
Сообщений: 6,911
08.12.2011, 15:35     Во сколько раз asm быстрее С++ #2
Для такой простой задачи современные компиляторы C++ сгенерируют код близкий к оптимальному. Переписывание на ассемблере "лоб в лоб", если и даст ускорение, то очень небольшое. Никак не в 100 раз.

Я тебе уже писал что оптимизацию надо начать с алгоритма, а потом уже выбирать язык. Вместо того чтобы приводить малопонятный (по своему назначению) кусок кода, опиши словами свою задачу - входные данные и что должно получиться в результате. Так больше шансов получить вменяемый совет по улучшению.

Чтобы получить серьезное программы переписав ее с языка высокого уровня на ассемблер нужно хорошо знать архитектуру и команды современных процессоров. Новичок в ассемблере рискует написать код который будет работать хуже кода на языке высокого уровня, а ты видимо воспринимаешь ассемблер как "серебрянную пулю", использование которой гарантиует наилучший результат. Зто верно только в случае глубокого знания предмета. Еще раз повторю что самая лучшая оптимизация это оптимизация алгоритма!
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
09.12.2011, 01:49     Во сколько раз asm быстрее С++ #3
прикольно, что быстрее asm или C++ для кода на VB

а если по сути, то bazile прав, для приведенного выше кода, C++ сгенерирует код близкий по быстродействию к коду написанному на ассемблере.
SevaB
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 39
09.12.2011, 11:42     Во сколько раз asm быстрее С++ #4
Низкоуровневая оптимизация - последнее дело. Браться за неё есть смысл только в узких местах, после проведения алгоритмической оптимизации. Да и оптимизировать, если уж оптимизировать таки не переводом на асм "в лоб", а с учетом особенности конкретного процессора.
Yandex
Объявления
09.12.2011, 11:42     Во сколько раз asm быстрее С++
Ответ Создать тему
Опции темы

Текущее время: 22:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru