dmitriymar,
Для примера могу привести реализацию String.prototype.repeat из ES6 |
String.prototype.repeat = function(count) { if ((count |= 0 ) <= 0) throw new RangeError(); var result = []; while (count--) result.push(this); return result.join(''); }; var start = +new Date; 'foo'.repeat(1000000); alert(+new Date-start); String.prototype.repeat = function(count) { if ((count |= 0 ) <= 0) throw new RangeError(); var result = ''; while (count--) result += this; return result; }; var start = +new Date; 'foo'.repeat(1000000); alert(+new Date-start); String.prototype.repeat = function(count) { if ((count |= 0 ) <= 0) throw new RangeError(); var result = ''; while (count--) result.concat(this); return result; }; var start = +new Date; 'foo'.repeat(1000000); alert(+new Date-start); String.prototype.repeat = function(count) { if ((count |= 0 ) <= 0) throw new RangeError(); return Array(count + 1).join(this); }; var start = +new Date; 'foo'.repeat(1000000); alert(+new Date-start); String.prototype.repeat = function(count) { if ((count |= 0 ) <= 0) throw new RangeError(); var result = '', self = this; while (count) { if (count & 1) result += self; if (count >>= 1) self += self; } return result; }; var start = +new Date; 'foo'.repeat(1000000); alert(+new Date-start); Тесты |
но опять всё упрётся как движок будет обрабатывать конструкции типа self+= self; будет создавать временные строки и т.д. может в новых браузерах будет быстрее создать массив , да сделать ему join.. х.з....
результат последнего впечатлил:) String.prototype.repeat = function(count) { if ((count |= 0 ) <= 0) throw new RangeError(); var result = [1000000]; while (count--) result[count]=this; return result.join(''); }; var start = +new Date; 'foo'.repeat(1000000); alert(+new Date-start); лёгким жестом алгоритм работает в 5 раз дольше :) эт -к тому что пока не знаем скорость работы операторов 6 го,возможно это сильно скорректирует алгоритмы... Создание нативной функции заполнения массива одинаковыми значениями может изменить расстановку приоритетов |
подкиньте инвайт на хабр :) хочу коммент там написать )
|
nerv_, помог бы так кармы не хватает((
П.с могу передать, но с учетом если моя карма не умрет полностью)) |
nerv_,
Там сейчас элементарно зарегацо, и в песочню кинуть интересную тему, про тоже сss или вариант разбора пары задач на регулярку, (если карму поднимут типично с первой статьи достаточно поднятия кармы на пару единиц для полноценной реги..) я по-моему писал про спойлер на сss Но бываю редко - карма мала, карма для инфайта от 100 |
может кому-то и элементарно, но я через песочницу только с третьей попытки попал, благодаря интересу сообщества к ноде.жс
|
Цитата:
|
Не карма, надо чтобы твой пост (статья) набрал 100 плюсов. Тогда дают инвайт, т.е. ты можешь его кому-то подарить.
Если написать в песочницу, тогда может кто и подарит (очень часто раздают админы под видом НЛО, если статья на актуальную тематику (обычно это то, что связано с веб-разработкой)), заодно эта же статья из песочницы может набрать сразу 100 плюсов и теперь уже ты можешь подарить кому-то инвайт. Как-то так. |
Цитата:
зарегился я там давненько, но рид-онли сняли только вот в июле, за статью по ноде. до этого была попытка в апреле, и еще до этого - в конце прошлого года. |
Часовой пояс GMT +3, время: 08:52. |