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

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

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

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

08.12.2011, 15:03. Просмотров 1374. Ответов 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.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2011, 15:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Во сколько раз asm быстрее С++ (C++):

Определить сколько раз в тексте встречается буква А и сколько раз буква С - C++
:wall:Определить сколько раз в тексте встречается буква А и сколько раз буква С

Определить сколько раз слова встречаются в тексте и сколько непосредственно друг за другом. - C++
Дан файл, содержащий текст на русском языке, в котором встречаются некоторые 2 слова. определить сколько раз эти слова встречаются в тексте...

Подсчитать, сколько раз выпал орел, сколько - решка - C++
ЗАДАНИЕ Тема: Операторы break и continue. 1. Вы решили достаточно много раз подбросить монету, чтобы убедиться в равновероятности...

Определить, сколько раз заданные слова встречаются в тексте и сколько из них - непосредственно друг за другом - C++
Не знаю как его делать( П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом. ...

Сколько раз среди заданных символов встречается символ "+" и сколько раз символ "*" - C++
Даны натуральное число n, символы S1, S2, ..., Sn. Подсчитать: сколько раз среди данных символов встречается символ "+" и сколько раз...

В заданной строке подсчитать сколько раз встречается символ "*" и сколько раз символ "+" - C++
Итак, сама задача: В заданной строке подсчитать сколько раз встречается символ "*" и сколько раз символ "+". Указать смещение каждого...

3
bazile
62 / 38 / 20
Регистрация: 15.03.2007
Сообщений: 6,910
08.12.2011, 15:35 #2
Для такой простой задачи современные компиляторы C++ сгенерируют код близкий к оптимальному. Переписывание на ассемблере "лоб в лоб", если и даст ускорение, то очень небольшое. Никак не в 100 раз.

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

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

а если по сути, то bazile прав, для приведенного выше кода, C++ сгенерирует код близкий по быстродействию к коду написанному на ассемблере.
0
SevaB
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 39
09.12.2011, 11:42 #4
Низкоуровневая оптимизация - последнее дело. Браться за неё есть смысл только в узких местах, после проведения алгоритмической оптимизации. Да и оптимизировать, если уж оптимизировать таки не переводом на асм "в лоб", а с учетом особенности конкретного процессора.
0
09.12.2011, 11:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2011, 11:42
Привет! Вот еще темы с ответами:

Выяснить, во сколько раз z больше d - C++
запрограммировать на с++ следующий алгоритм, находящий во сколько раз z больше d. ввести Z вести d k=0 начало цикла пока d>=z ...

Сколько раз выполнится цикл while? - C++
Здравствуйте! Сколько раз выполнится цикл, 1 или все же 2 раза:? Теорию вроде бы читал, времени программу допилить нет, но чет не пойму,...

Сколько раз встречаются гласные буквы? - C++
3. Дан текст, в котором записано одно из стихотворений А.С. Пушкина. Сколько раз встречаются гласные буквы? у меня проблемы с написанием...

Сколько раз вызывается конструктор копирования - C++
Почему n не увеличивается? Point(const Point& src){ n++; set(src.x+1, src.y+1); cout << "Konstruction copyrovanija...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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