169 похожих чатов

Я вот не совсем пойму ваше слово двумерный, это массив

указателей на массивы? Или же это одномерный который мы заполняем будто он двумерный?

18 ответов

22 просмотра

Двумерный - значит у тебя массив разделён на строки и столбцы. Одномерный идёт просто последовательно.

Дмитрий-Воронин Автор вопроса
КТ315
Двумерный - значит у тебя массив разделён на строк...

Ну с каким будет легче процессору работать?

Дмитрий Воронин
Ну с каким будет легче процессору работать?

С одномерным, конечно. Но это же разные по назначению массивы. Скажем, у тебя: 1 2 3 4 5 6 7 8 9 1 2 3 И тебе надо первый столбец заполнить - ты вынужден делать 0*4+0, 0*4+1, 0*4+2. Как одномерный массив ты его никак не заполнишь, потому что в памяти он лежит так: 1,2,3,4,5,6,7,8,9,1,2,3

Дмитрий-Воронин Автор вопроса
КТ315
С одномерным, конечно. Но это же разные по назначе...

Ну я знаю что придется прыгать + witdth поэтому и пришёл сюда спросить, сильно ли это кеш напрягать будет

Дмитрий Воронин
Ну я знаю что придется прыгать + witdth поэтому и ...

Разложи двумерный массив в памяти по столбцам тогда

Дмитрий Воронин
Ну я знаю что придется прыгать + witdth поэтому и ...

Кэш будет напрягаться только если массив большой. И напрягаться будет в любом случае. А так ему без разницы. А вот из-за вычисления столбца будет нагрузка на AGU процессора, лишние такты, лишние операции, когда ты бы мог сделать +1, а вместо этого делаешь 2*4+1, к примеру. Но мы сейчас вообще бесполезный разговор ведём, на самом деле. Двумерный и одномерный массив имеют разные предназначения. И двумерный сам по себе больше, и требует больше операций к себе. Их никак нельзя обьединить или сравнить, кто лучше, кто хуже. Если у тебя на входе двумерный массив, и на выходе тоже двумерный - сортировать его бессмысленно, это ещё хуже будет.

Дмитрий-Воронин Автор вопроса
randomize usr
Разложи двумерный массив в памяти по столбцам тогд...

Так патом нужно будет сформированную текстуру отправить в видео карту. А она у меня повернута на 90 градусов получится

Дмитрий Воронин
Так патом нужно будет сформированную текстуру отпр...

Вот. О чём я и написал. На входе двумерный - на выходе двумерный. Всё, не заморачивайся. Кэшу без разницы тут, и ничего не поделаешь. Сортировать - ещё хуже будет, потому что на выходе тебе придётся второй раз сортировать обратно в двумерный.

Дмитрий Воронин
Нет, на C++

Давай на ассемблере.

Дмитрий-Воронин Автор вопроса
КТ315
Давай на ассемблере.

Ды если бы умел. Может в будущем попробую освоить. Но вот сегодня смог вот эту формулу round((vectorX[i]*scaleX) - offsetX) перевести в SSE на raspberry pi4. Это делается за две инструкции инструкция vmls которая делает a - (b*c) инстуркция vrnd которая округляет. Жаль в эти инструкции только два типа double можно всунуть. Получилось в два раза быстрей чем без этих инструкций + бросков добавил в цикле, ещё скорости добавило

Дмитрий Воронин
Вот такой алгоритм

Был популярный растровый алгоритм горящего пламени. Его часто крякеры вставляли на свои заставки. И я видел несколько реализаций на Java-апплетах. Это когда еще js с unity не было - было лишь 2 способа разнообразить веб содержимое. Ставить анимированные гифки. Или Java-applet который что-то рендерит процедурально.

Но вычисление процессор всё равно будет делать. А умножение и сложение дольше, чем сложение.

КТ315
Но вычисление процессор всё равно будет делать. А ...

А где я могу узнать информацию какой набор инструкций использовать в программе ?

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
как быть с принтером? такой подход прокатит?
zamtmn
12
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Я не понимаю, это троллинг или что? Швабрика поддерживают, который буквально пишет на ассемблере взаимодействия с винапи. Я это ещё написал загрузчик и хоть что-то изучаю в о...
Shadow Akira
6
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Карта сайта