![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 04.01.2013
Сообщений: 1
|
![]()
Вот мне по ходу одной программы необходимо держать в памяти много цифр от 1 до 4.
Сделать это можно двумя способами - 1)тупо заполнить ячейки памяти этими цифрами. 2)скомбинировать эти цифры по 4 в один байт и забить память в 4 раза меньше, но при этом напрячь процессор преобразованиями. Обращатся к этим ячейкам после записи, то есть обратно преобразовывать, нужно ровно 4 раза. Вопрос - как лучше? Чисто теоретически, потому что на практике и памяти и процессора хватает более чем. Просто хочется научится писать правильно. Последний раз редактировалось Federacia; 04.01.2013 в 04:46. |
![]() |
![]() |
![]() |
#2 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Вопрос весьма абстрактный, потому и ответ не может быть точным.
Вообще всё зависит от того как вам нужно эти "цифры" обрабатывать. Идеальным вариантом будет их пакетная обработка. Вам кажется, что, если число после прочтения нужно еще и разобрать, то это будет работать дольше, но это не так. Ведь процессору нужно гораздо меньше времени для выделения бит из байта, чем системе нужно времени для чтения еще 3-х байт из памяти. ASM вам в помощь. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
Можно и без Асма обойтись. В С++ есть операции побитового сдвига << >>.
Например: X << 2 - сдвинуть число на два бита влево.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
![]()
А в ассемблере есть команды simd. Что в некоторых случаях будет сильно быстрее.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сэкономить память? | Unmanner | Общие вопросы C/C++ | 11 | 26.01.2012 23:45 |
3d графики: что вообще есть и что лучше использовать | Krasi | Общие вопросы по Java, Java SE, Kotlin | 1 | 09.05.2011 14:41 |
Что лучше | Miha85193 | Общие вопросы Delphi | 4 | 30.07.2010 01:57 |
Что лучше | Syn-McJ | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 18.05.2010 09:10 |