Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 17.10.2012, 13:49
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

dmitriymar,
Для примера могу привести реализацию String.prototype.repeat из ES6
Ответить с цитированием
  #32 (permalink)  
Старый 17.10.2012, 13:55
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

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);


Тесты
Ответить с цитированием
  #33 (permalink)  
Старый 17.10.2012, 14:03
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

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

Последний раз редактировалось dmitriymar, 17.10.2012 в 14:19.
Ответить с цитированием
  #34 (permalink)  
Старый 25.07.2013, 00:51
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

подкиньте инвайт на хабр хочу коммент там написать )
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #35 (permalink)  
Старый 25.07.2013, 00:57
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

nerv_, помог бы так кармы не хватает((
П.с могу передать, но с учетом если моя карма не умрет полностью))
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.

Последний раз редактировалось cyber, 25.07.2013 в 01:05.
Ответить с цитированием
  #36 (permalink)  
Старый 25.07.2013, 03:30
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

nerv_,
Там сейчас элементарно зарегацо, и в песочню кинуть интересную тему, про тоже сss или вариант разбора пары задач на регулярку, (если карму поднимут типично с первой статьи достаточно поднятия кармы на пару единиц для полноценной реги..)
я по-моему писал про спойлер на сss
Но бываю редко - карма мала, карма для инфайта от 100
Ответить с цитированием
  #37 (permalink)  
Старый 25.07.2013, 12:19
Аватар для deivan
Профессор
Отправить личное сообщение для deivan Посмотреть профиль Найти все сообщения от deivan
 
Регистрация: 02.08.2012
Сообщений: 293

может кому-то и элементарно, но я через песочницу только с третьей попытки попал, благодаря интересу сообщества к ноде.жс
Ответить с цитированием
  #38 (permalink)  
Старый 25.07.2013, 12:20
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от deivan
но я через песочницу только с третьей попытки попал
это когда было? года три назад.. щас вроде всех подряд туда пускают
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #39 (permalink)  
Старый 25.07.2013, 13:13
Профессор
Отправить личное сообщение для Nanto Посмотреть профиль Найти все сообщения от Nanto
 
Регистрация: 21.12.2010
Сообщений: 243

Не карма, надо чтобы твой пост (статья) набрал 100 плюсов. Тогда дают инвайт, т.е. ты можешь его кому-то подарить.

Если написать в песочницу, тогда может кто и подарит (очень часто раздают админы под видом НЛО, если статья на актуальную тематику (обычно это то, что связано с веб-разработкой)), заодно эта же статья из песочницы может набрать сразу 100 плюсов и теперь уже ты можешь подарить кому-то инвайт. Как-то так.
Ответить с цитированием
  #40 (permalink)  
Старый 26.07.2013, 11:48
Аватар для deivan
Профессор
Отправить личное сообщение для deivan Посмотреть профиль Найти все сообщения от deivan
 
Регистрация: 02.08.2012
Сообщений: 293

Сообщение от devote Посмотреть сообщение
это когда было? года три назад.. щас вроде всех подряд туда пускают
не уверен.
зарегился я там давненько, но рид-онли сняли только вот в июле, за статью по ноде. до этого была попытка в апреле, и еще до этого - в конце прошлого года.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
хочу спросить цену скрипта legrol Работа 2 06.11.2012 09:41
Инвайт на хабр Andrei Оффтопик 45 30.08.2012 04:03
Что я хочу от JavaScript? CyberMaster Библиотеки/Тулкиты/Фреймворки 53 12.02.2012 22:31
хочу такую-же фигню как в контакте SmaPP Работа 5 06.03.2011 12:47
Хочу скрипт! (скрипт калькулятора на сайт) Georgiy Общие вопросы Javascript 6 28.01.2010 15:09