| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > unpacked array of Extended |
| Автор: CDEater 28.5.2008, 23:20 |
| Обычный array of Extended занимает по 10 байт на число, что вызывает тормоза из-за невыровненности операндов. Хочу массив из Extended, но чтобы каждое число было выровнено на границу 8 байт. Добавление слова unpacked вызывает ошибку компиляции, использование {$A-} ничего не изменяет. Как бы получить желаемое наиболее прямым и естественным путём? |
| Автор: Alexeis 28.5.2008, 23:39 |
| CDEater, можно попробовать поместить Extended в Record, который по дефолту выравнивается на 8 байт. Добавлено через 1 минуту и 22 секунды Или использовать 8ми байтовый Double. |
| Автор: CDEater 29.5.2008, 03:00 |
| Типа, вот так? array of record X: Extended; end; Спасибо, работает. Только придётся лазить по всей проге и приписывать суффикс ".X" ко всем обращениям к массиву... :( |
| Автор: aktuba 29.5.2008, 03:08 |
| А если вместо массива класс сделать? |
| Автор: CDEater 29.5.2008, 03:16 |
| Вообще-то речь шла об ускорении вычислений. Класс тут совсем не катит. |