Если это сделано исключительно с целью уменьшения использования памяти, то я считаю, что вы не должны этого делать. Вам лучше использовать структуру с двумя шортами, которая делает код намного более читабельным. Объем памяти, который вы экономите, делая это очень маленьким по сравнению с преимуществами, которые вы получаете, делая код более легким в обслуживании.
Я предлагаю вам сначала профилировать систему, чтобы выяснить, есть ли утечки памяти или кто-то излишне выделяет большие куски памяти и т. Д., А затем попытаться решить эту проблему. Если вы все еще не можете найти решение, выясните, какая часть вашей программы занимает большую часть памяти, и попытайтесь изменить модель распределения памяти.