Показать сообщение отдельно
  #13 (permalink)  
Старый 04.12.2014, 21:20
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

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
каждая мс на счету
Думаю, это говорит о фатальных недостатках архитектуры, в подавляющем большинстве случаев, если речь не идет о специализированном проекте, заточенном на максимальную производительнось.

Последний раз редактировалось krutoy, 04.12.2014 в 21:24.
Ответить с цитированием