|
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
|
|
| 08.12.2011, 15:03 | |
|
Ответы с готовыми решениями:
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
|
|
| 09.12.2011, 11:42 | |
|
Помогаю со студенческими работами здесь
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. Пошагово создадим проект для загрузки изображения. . .
|