July 5th, 2016

ucl internals

Понял, что мне очень сильно не нравится пухлое представление самых частоупотребимых сущностей: коротких чисел и символов.

Я не проводил никаких исследований на эту тему, но что-то мне подсказывает, что весьма существенная часть реальных переменных, используемых в эмбеде - 16-битные. Размеры буферов, индексы внутри них, разрешение дисплеев, скорости перемещения и т.п., и т.д. - всё это чаще представимо в виде небольших чисел, высокая разрядность тут ни к чему, да и дорого. Кроме этого, существенная часть всяких рабочих переменных записывается в виде одно-, двух- и трёхбуквенных мнемоник, типа x, v1, lst и так далее. То есть имеет смысл подумать над максимально компактным представлением некоторых данных (сохранив, разумеется, возможность представления более крупных данных в неприкосновенности: 32- и 64-битные числа, равно как и ДлинныеИПонятныеИменаПеременных тоже имеют право быть!).

Хак относится к little-endian машинам минимум 32-битной разрядности. Для адаптации его к big-endian нужно поменять порядок полей в структурах.

Collapse )

Правильная организация структур данных - залог успеха.

Skype

Он меня долго дрючил ненавязчивыми предложениями обновить версию, а потом как-то затих и пропал из таскбара.
Понадобилось мне, в кои-то веки (второй раз за пять лет, наверное) куй-куды позвонить. Запустил.
А эта скотина, оказыца, сам собой втихаря обновился.