Я использую C++ с QT 5.6. У меня есть простое консольное приложение в 2-х стилей следующим образом:Переменные влияют на производительность?
//First style
qstring x = “Hi!”;
void func()
{
QTextStream(stdout) << x;
}
int main()
{
while (true)
{
func_one();
}
}
//Second style
void func()
{
QTextStream(stdout) << “Hi!”;
}
int main()
{
while (true)
{
func();
}
}
Что подчеркнет из процессора больше и, следовательно, имеют меньшую производительность не может быть большая разница, но когда мы применим это к большим масштабам, таких как сервер, на котором каждые 2 секунды происходит соединение, которое создает ситуацию, аналогичную описанной выше, и с несколькими переменными (но не с той же переменной и данными), что немного меньше использования ресурсов может привести к большим улучшениям производительности при меньшем использовании ресурсов. Таким образом, использование переменных дает любые улучшения производительности, но я буду использовать переменную только один раз в своей функции, хотя функция будет называться повторно или будет использовать переменные, замедляет работу программы, поскольку она должна периодически проверять ram, где находится значение «x "Сохраняются и затем извлекаются данные?
Edit 1:
Я не буду использовать переменную снова в моем коде, и мы можем считать, что нет компилятора оптимизаций. @DrDonut ответ в ссылке, которую вы дали, также не отвечает $array === (array) $array
быстрее, чем is_array($array)
i.e это микро-оптимизация, и я также спрашиваю, является ли второй стиль микро-оптимизацией или это вредит производительности.
1) Составители умнее, чем вы могли бы подумать - в случае, описанном выше, особенно если вы используете 'QString константный x', идентичный код может очень хорошо быть произведено. 2) Не беспокойтесь о производительности сейчас. 3) Если необходимо, измерьте производительность, прежде чем пытаться угадать, что будет лучше. –
Это не имеет значения. –
В реальной жизни у вас нет роскоши жесткого кодирования строки, вам всегда нужно использовать переменную для изменения данных. Однако вы можете создать переменную для 'QTextStream (stdout)', чтобы сохранить ее от создания каждый раз. –