Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Быстрота исполнения 
:(
    Опции темы
zenuch
Дата 12.2.2008, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



есть строчка 
Код

var str = 'organize_photo_1536';


какой из вариантов будет быстрее и эффективнее работать (с вашими рассуждениями если можно) (и если можно еще ссылочку на алгоритмы split, replace)

Код

var id = str.split('_').pop();
var id = str.replace('organize_photo_', '');

PM MAIL   Вверх
Sardar
Дата 12.2.2008, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Думаю str.substr(str.lastIndexOf('_') + 1);
Ссылок на алгоритмы не найдёшь, у каждого браузера и почти у каждой системы где используется ECMAScript - свой (иногда очень кривой) интерпретатор. Есть только спецификация от ECMA, естественно там ни слова о эффективности.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
zenuch
Дата 13.2.2008, 00:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



Спасибо за вариант, видимо придется тестить, завтра постараюсь выложить результаты.
PM MAIL   Вверх
zenuch
Дата 13.2.2008, 12:36 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



Итак тестировались три строчки  в Windows XP SP2

FF - Gecko/20080201 Firefox/2.0.0.12
IE - 6.0.2900.2180
Opera - 9.00(8501)
Safari - 3.0.4(523.15)

Код

[1] - var id = str.split('_').pop();
[2] - var id = str.replace('organize_photo_', '');
[3] - var id = str.substr(str.lastIndexOf('_') + 1);


вот что выдают браузеры на 100 тысячах итераций (время среднее арифметическое в микросекундах):
  • FF            [1] - 2031   [2] - 828   [3] - 437
  • IE            [1] - 1516    [2] - 437   [3] - 609
  • Opera     [1] - 610      [2] - 1672   [3] - 453
  • Safari      [1] - 422      [2] - 219   [3] - 343

Однозначного ответа нет, как видно из данных, но в большинстве своем выигрывает третий вариант. Sardar в своем предположении оказался прав.


Это сообщение отредактировал(а) zenuch - 13.2.2008, 12:37
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0456 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.