Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 05.11.2008
Сообщений: 27

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

08.12.2011, 15:03. Показов 4691. Ответов 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.12.2011, 15:03
Ответы с готовыми решениями:

Ввести строку. Подсчитать сколько раз в ней встречаются строчные и сколько раз заглавные русские буквы
Всем привет. Очень хотелось бы что бы помогли с решением данной задачи. Ввести строку. Подсчитать сколько раз в ней встречаются строчные...

Определить сколько раз в последовательности встречаются максимальное чисел, а сколько раз минимальное
Добрый вечер всем! Мне надо решить на экзамен задачку, прошу вас помочь с ней :) Задача: Дана последовательность из 5 чисел, определить...

Сколько раз входят два слова в текст и сколько раз они входят непосредственно друг за другом
Дан текст на русском языке и некоторые два слова. Определить, сколько раз они входят в текст и сколько раз они входят непосредственно друг...

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

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

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

а если по сути, то bazile прав, для приведенного выше кода, C++ сгенерирует код близкий по быстродействию к коду написанному на ассемблере.
0
0 / 0 / 1
Регистрация: 28.11.2010
Сообщений: 39
09.12.2011, 11:42
Низкоуровневая оптимизация - последнее дело. Браться за неё есть смысл только в узких местах, после проведения алгоритмической оптимизации. Да и оптимизировать, если уж оптимизировать таки не переводом на асм "в лоб", а с учетом особенности конкретного процессора.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.12.2011, 11:42
Помогаю со студенческими работами здесь

Строка: Определите сколько раз среди символов строки встречается символ + и сколько раз символ * .
16 Дана строка символов. Определите сколько раз среди символов строки встречается символ + и сколько раз символ * . Использовать разные...

Сколько раз среди данных символов встречается символ + и сколько раз символ * (Паскаль -> Дельфи)
Всем привет. Я ещё только начинаю рабоатаь в Делфи. Помогите пожалуйста переделать задачу на Паскале в Делфи. Задача такая:Даны...

Подсчитать сколько раз среди данных символов встречается символ + и сколько раз - символ * в отдельности
1. Дана последовательность из n символов. Подсчитать сколько раз среди данных символов встречается символ + и сколько раз - символ * в...

Определить, сколько раз в строке встречается буква a, сколько цифр и сколько заглавных букв
4)Вводится строка символов, заканчивающаяся точкой. Определите, сколько раз в ней встречается латинская буква a, сколько цифр и сколько...

Строка: В заданной строке подсчитать, сколько раз встречается символ “*” и сколько раз символ ”+”.
Помогите описать данную программу так же как на скриншоте Условие:В заданной строке подсчитать, сколько раз встречается символ “*” и...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru