C# Microsoft Visual Studio 2010. Вопрос по оптимизации! Засоряют ли память служебные переменные????

C# Microsoft Visual Studio 2010. Вопрос по оптимизации! Засоряют ли память служебные переменные????
допустим есть небольшой класс

Public Class XZ
{
public a;
public b;
}

экземпляры хранятся в тройном массиве mass[][][]

ну и если нужно предать эти значения 'a' и 'b' из класса XZ куданибуть, допустим в функцию в качестве параметров то получается очень грамосткий код

FUNC (mass[peremen1][perenenaja2][peremenaja3].a, mass[peremen1][perenenaja2][peremenaja3],b)

я для удобства и читаемости создал служебную переменую XZ из Этого массива и в функцию передал параметры уже через нее

XZ temp = mass[peremen1][perenenaja2][peremenaja3]
FUNC(XZ.a, XZ,b)

а эту функцию я буду вызывать МНОГО раз
Область видимости у служебной переменной XZ - маленькая и она будет пересоздаватся тоже Много раз
Будет ли эта служебная переменная жрать память и самое главное системное время на создание этой переменной?

посути вопрос такой использовать ли служебные переменные или забить на читаемость и писать громадные конструкции на шириной в 2 экрана для вызова одной функции??? ?
хотя читемость не главное - пушу для себя, а вот проблема скорости и памяти очень важна! !

  • ИМХО

    XZ temp
    жрёт память. статитическую и расходов на динамическое выделение нет, но всё-таки. .

    XZ temp = mass....
    жрёт ресурс проца на перенос данных по ячейкам памяти.

    часть оптимизаторов при компиляции автоматически это дело удаляют и генерят код как при вызове без этой промежуточной -зависит от компилятора и ключей оптимизации.

    и - время программиста дороже времени железки. так что обычно для некритичных задач не заморачиваются оптимизацией исполнения, а смотрят на удобство написания, отладки и сопровождения версий.

  • Твоя переменная будет (теоретически) существовать только в пределах блока, где она описана.
    Но при современных объемах памяти я бы по поводу таких мелочей не парился, чессло.
  • 1. Там все равно будут создаваться временные переменные, так что на одну-две можешь смело забить.
    2. Тебе никто не запрещает самому замерить время выполнения и занятую память и сравнить.
    3. Код C# выполняется на, фактически, виртуальной машине. О какой оптимизации вообще идет речь? Весь твой код будет переделан в реальный 10 раз. Хочешь оптимизировать с точностью до байт и операций процессора? Пиши на ассемблере. Хочешь оптимизировать с точностью до десятков байт и операций? Пиши на C/C++. А писать на языке высокого уровня для виртуальной машины и думать об оптимизации вне алгоритмов - себе дороже.