У меня есть консольное приложение, которое позволяет пользователям указывать переменные для обработки. Эти переменные бывают трех видов: строковые, двойные и длинные (двойные и длинные являются наиболее часто используемыми типами). Пользователь может указать любые переменные, которые ему нравятся, и в любом порядке, чтобы моя система могла справиться с этим. С этой целью в моем приложении я хранил их как объекты, а затем приводил их в соответствие с необходимостью. например:
public class UnitResponse
{
public object Value { get; set; }
}
Насколько я понимаю, объекты в штучной упаковке занимают немного больше памяти (около 12 байт), чем тип стандартного значения.
Мой вопрос: будет ли эффективнее использовать динамическое ключевое слово для хранения этих значений? Это может обойти проблему упаковки / распаковки, и если она будет более эффективной, как это повлияет на производительность?
EDIT
Для обеспечения некоторого контекста и предотвращения "вы уверены, что используете достаточно ОЗУ, чтобы беспокоиться об этом", в моем худшем случае у меня 420 000 000 точек данных, о которых нужно беспокоиться (60 переменных * 7 000 000 записей). Это в дополнение к куче других данных, которые я храню о каждой переменной (включая несколько логических значений и т. Д.). Таким образом, сокращение памяти оказывает ОГРОМНОЕ влияние.