devote,
К тому же, во первых, по поводу перфоманса еще можно поспорить. Во вторых, код с регулярками тоже может быть оптимизирован
var url = 'file:///d:/w.o.r.d.doc';
i=1000000
console.time('my stupid')
while(i--){
url.match(/\.([a-z]+)$/i)[1]
}
console.timeEnd('my stupid')
i=1000000
re=/\.([a-z]+)$/i
console.time('my better')
while(i--){
url.match(re)[1]
}
console.timeEnd('my better')
i=1000000
console.time('yours')
while(i--){
var ext = (ext = url.split('.')).length > 1 ? ext.pop() : '';
}
console.timeEnd('yours')
//в ноде:
// my stupid: 423ms
// my better: 401ms
// yours: 425ms
В третих, во большинстве случаев можно обойтись тестом, а матчить только в поседнюю очередь. А так по любому будет быстрей.
Сообщение от devote
|
где ты увидел лапшу?
|
она накапливается незаметно.
Сообщение от devote
|
каждая мс на счету
|
Думаю, это говорит о фатальных недостатках архитектуры, в подавляющем большинстве случаев, если речь не идет о специализированном проекте, заточенном на максимальную производительнось.