Скажем, что у вас должна быть структура, похожая на следующую:
struct Person {
int gender; // betwwen 0-1
int age; // between 0-200
int birthmonth; // between 0-11
int birthday; // between 1-31
int birthdayofweek; // between 0-6
}
Что касается производительности, которая будет лучшим типом данных для хранения каждого из полей? (например, битполе, int
, char
и т.д.)
Он будет использоваться на процессоре x86 и полностью сохранен в ОЗУ. Необходимо будет хранить достаточно большое количество (50 000+), поэтому необходимо будет учитывать кеширование процессора и т.д.
Изменить: Хорошо, позвольте мне перефразировать вопрос. Если использование памяти не имеет значения, и весь набор данных не будет вписываться в кеш, независимо от того, какие типы данных используются, обычно лучше использовать более мелкие типы данных для размещения большего количества данных в кэше ЦП или лучше использовать более крупные datatypes, чтобы позволить процессору выполнять более быстрые операции? Я прошу об этом только для справки, поэтому читаемость кода и тому подобное не следует рассматривать.