#javascript #performance
#javascript #Производительность
Вопрос:
Предположим, у вас есть веб-приложение с 1000000 входов пользователей в час.
и следующий код выполняется при каждом входе пользователя в систему :
if (DevMode) {
// make an Ajax call
} else if (RealMode) {
// make other Ajax call
} else {
// Do something else
}
Предполагая, что вход в DevMode выполняется только для 5% от общего числа входов пользователей, эффективнее ли писать код следующим образом:
if (RealMode) {
// make an Ajax call
} else if (DevMode) {
// make other Ajax call
} else {
// Do something else
}
Спасибо
Комментарии:
1. В любом случае, количество времени, затрачиваемого JavaScript на это, будет абсолютно незначительным, и это не будет иметь никакого заметного значения.
2. Хорошо, это
DevMode
всего лишь 5%. Каковы остальные 95%? 95%RealMode
и 0% тоже нет? 5%RealMode
и 90% тоже?3. В среднем у вас всего 7 подключений для входа в систему в минуту. Отложите в сторону свои аргументы в пользу оптимизации, у вас есть огромное количество времени, чтобы справиться с ними любым удобным вам способом.
4. если мы предположим, что у меня есть 1 000 000 за час? имеет ли это значение? может ли избежать выполнения нескольких проверок повысить производительность?
Ответ №1:
Предполагая, что RealMode
это 95% случай (вы на самом деле не сказали, является ли это RealMode
или else
), тогда: Ну, да, потому что вы избегаете проверки, которая будет ложной в 95% случаев.
Однако не имеет значения, что это более эффективно. Проверка переменной на достоверность — это очень, очень, очень, очень, очень быстро.