Вопрос о производительности: String.split и затем идут на массиве или RegExp?

Он использует массив и пару целых чисел для указания первого значения - индекса последнего значения

private transient int firstIndex;

private transient int lastIndex;

private transient E[] array;

Вот пример реализации.

13
задан BYK 8 June 2009 в 20:02
поделиться

2 ответа

Что ж, лучший способ получить ответ - это просто потратить 2 минуты и написать цикл, который делает это в обоих направлениях тысячу раз, и проверить firebug, чтобы узнать, какой из них быстрее;)

Мне пришлось оптимизировать множество операций со строками при работе с MXHR, и, по моему опыту, простые методы String значительно быстрее, чем RegExps в текущих браузерах. Используйте регулярные выражения для кратчайших возможных строк и делайте все возможное с помощью методов String.

Например, я использую это маленькое число в моем текущем коде:

var mime = mimeAndPayload.shift().split('Content-Type:', 2)[1].split(";", 1)[0].replace(' ', '');

Это чертовски уродливо, но, хотите верьте, хотите нет, оно значительно быстрее, чем эквивалентное RegExp при высокой нагрузке.

15
ответ дан 1 December 2019 в 20:11
поделиться

Я ожидаю, что использование split () будет намного быстрее. Это зависит от многих особенностей, количества строк в зависимости от длины, сложности регулярного выражения и т. Д.

1
ответ дан 1 December 2019 в 20:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: