Есть ли разница в производительности между ===
условным оператором и оператором присваивания =
? Я пишу некоторые предварительно сохранить крючок промежуточного программного мангустов и мне интересно, если есть много различий в скорости между:производительность Javascript, условный оператор против оператора присваивания
UserSchema.pre('save', function (next) {
if (!this.isModified()) {
return next();
}
this.crm.isUpToDate = false;
next();
});
и
UserSchema.pre('save', function (next) {
if (!this.isModified()) {
return next();
}
if (this.crm.update === true) {
this.crm.isUpToDate = false;
}
next();
});
EDIT:
Спасибо за конструктивную Комментарии.
В принципе, не похоже, что большая разница в производительности (как указано выше, это незначительно). Спасибо за классный инструмент для тестирования скорости http://jsperf.com/, я никогда не слышал об этом раньше.
Для тех из вас, кто задается вопросом о коде, во-первых, я сделал вопиющую ошибку в своем первоначальном посте, а затем, когда все пытались указать мне на это, я плакал, это, вероятно, причина, по которой все ниспровергались.
Вот что я делаю:
У меня есть мангуста предварительно сохранить промежуточный крюк (для базы данных Монго), где крючок вызывается каждый раз, когда документ будет сохранен. В момент сохранения я проверяю, был ли обновлен документ. Если это было, я установил crmIsUpToDate
в false. Значение crmIsUpToDate
будет установлено в true при получении задания cron. Этот крючок можно запустить много раз, прежде чем задание cron попадет в документ.
Я не думаю, что это было все, что было необходимо для вопроса, потому что вопрос был, если есть разница между проведением сравнения ===
и выполнением задания =
. Я не должен был даже переводить код, потому что это действительно умаляло главный вопрос.
1) любое усиление производительности будет незначительным; 2) http://jsperf.com –
Эти два примера не делают то же самое, что вы знаете? – adeneo
Даже если есть, это уместно? Они не выполняют одну и ту же функцию и поэтому не могут быть надежно сопоставлены друг с другом. – War10ck