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

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

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

18 ответов

7 просмотров

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

Дмитрий-Воронин Автор вопроса
КТ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
Но вычисление процессор всё равно будет делать. А ...

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

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

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

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
11
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Всем вечера. Подскажите как лучше сделать. делаю на Д10 Например будет база данных на SQLite. в ней будет много таблиц. более 50шт Типа справочник. Содержать ID Name Id p...
Андрей Т 🐎
10
это группа токсиков или тех кто помогает?
Ибрагим
9
Я короче решил скомпилировать Nim в js, я думал он сработает как обычный транслятор. По итогу он мне создал файл с расширением js, и туда поместил кучу кода Вопрос, что это з...
𝕾𝖍𝖆𝖉𝖊 <suspense>
8
мы пытаемся подменить функцию, которая имеет меньше инструкций относительно функции, которой подменяем. https://www.reddit.com/r/jailbreakdevelopers/comments/w06ujy/mshookfun...
Óðinn
6
У кого-нибудь есть под рукой функция кодирования юникода, которая из фразы На русском сделает \u041d\u0430\u0020\u0440\u0443\u0441\u0441\u043a\u043e\u043c ?
Daniil Smolyakov
7
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Карта сайта