Хотя @rmunn предоставил отличный ответ на настоящий вопрос, я чувствую, что должен написать это дополнение, потому что считаю его очень важным и слишком длинным, чтобы помещаться в комментарии.
Этоозначает ответить на подразумеваемый вопрос, который я прочитал как " Поскольку изменяемые данные работают быстрее, разве я не должен всегда использовать изменяемые данные? "
Это действительно такчто, как правило, изменяемые структуры данных, если вы понимаете их правильно, быстрее на поверхности, так почему бы нам не использовать их постоянно?Также верно, что прыжки, если вы понимаете это правильно, быстрее, чем вызов функции, так почему же мы не используем goto
все время ?Верно также и то, что ручное управление памятью, если вы понимаете это правильно, использует меньше памяти, и быстрее, чем сборка мусора, так почему мы используем сборку мусора?И это (возможно) верно, что написание непосредственно в ассемблере или даже в двоичном коде, если вы понимаете, что действительно, действительно правильно, быстрее, чем компиляция, так почему же у нас вообще есть языки высокого уровня?
Ответ на все вышесказанное заключается в том, что производительность - не единственная проблема в разработке программного обеспечения .Это даже не самый важный вопрос.Можно даже утверждать, что это не где-то рядом с вершиной самых важных проблем.В наше время гораздо важнее удобочитаемость, стабильность, ремонтопригодность, общая отказоустойчивость.
При проектировании вашей системы сначала попытайтесь угадать , где могут быть узкие места, а затем спроектируйте эти места.осторожно и положите вокруг них немного каротажа и инструментов.При кодировании программ сначала делайте их читабельными, понятными, поддерживаемыми.Затем измерьте производительность - на производстве или в промежуточной среде, если вы можете себе это позволить.И под «мерой» я не имею в виду «это самый быстрый способ, которым это может быть?», Я имею в виду «это достаточно быстро для наших целей?».Если это так, хорошо.Если это не так, выясните, где именно происходит замедление, и оптимизируйте это место.Со временем, с опытом, ваши догадки для потенциальных узких мест будут становиться все лучше и лучше.
Не пытайтесь оптимизировать заранее: вы просто получите беспорядок в ваших рукахи тебе придется скоро его выбросить. Преждевременная оптимизация - корень всего зла .