Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #81 (permalink)  
Старый 06.09.2014, 22:37
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

То ли осень на меня так действует, то ли ещё чего, но всю эту неделю боролся с тотальной ленью и писал мало кода, а работу над 5.2 нормально возобновил только вчера. Бог даст - завтра закончу часть по коду и можно будет уже пощупать потоки в действии.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 06.09.2014 в 22:54.
Ответить с цитированием
  #82 (permalink)  
Старый 12.09.2014, 16:08
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Закончил работу на версией 5.2. Скоро обновлю документацию.

Сделал небольшой видео обзор: http://www.youtube.com/watch?v=K2GAANmWTgQ

Demo:
http://jsfiddle.net/kobezzza/hut2jhL9/
__________________
kobezzza
code monkey
Ответить с цитированием
  #83 (permalink)  
Старый 12.09.2014, 17:01
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Провёл стресс тестирование:

100 000 потоков ни одного лага
1 000 000 потоков начинает глючить уже
__________________
kobezzza
code monkey
Ответить с цитированием
  #84 (permalink)  
Старый 12.09.2014, 17:44
Аватар для Zend
Профессор
Отправить личное сообщение для Zend Посмотреть профиль Найти все сообщения от Zend
 
Регистрация: 28.11.2009
Сообщений: 328

чёта у меня демка не запустилась. но потоки меня убедили. заюзаю твою либу
Ответить с цитированием
  #85 (permalink)  
Старый 12.09.2014, 17:46
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Zend Посмотреть сообщение
чёта у меня демка не запустилась
Какой браузер? Если хром, то проверь что включен ES6.

chrome://flags/#enable-javascript-harmony и перезапустить браузер

Тестил работу в ФФ, хроме и ноде.

Ноду запускать с флагом
--harmony
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 12.09.2014 в 17:56.
Ответить с цитированием
  #86 (permalink)  
Старый 12.09.2014, 18:08
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

kobezzza,
можно пару слов о том, как потоки внутри устроены?
Я просто не представляю как их возможно сделать без setInterval/setTimeout.
//в код не иду, т.к. всё равно мало что пойму)
Ответить с цитированием
  #87 (permalink)  
Старый 12.09.2014, 18:28
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Safort Посмотреть сообщение
kobezzza,
можно пару слов о том, как потоки внутри устроены?
Я просто не представляю как их возможно сделать без setInterval/setTimeout.
//в код не иду, т.к. всё равно мало что пойму)
Общая схема проста:

Есть планировщик потоков и он на каждой итерации событийного цикла выбирает из очереди потоков те, которые выполнятся в рамках текущей итерации, причём общее время всех операций должно быть не более 60мс.

Логично, что чем выше приоритет, тем выше шанс что поток попадёт на исполнение и его максимальное время исполнения.

Само разбиение операции использует yield, т.е. после каждой итерации Collection считается затраченое время и если оно больше дозволенного, то операция прерывается (yield).

Если очередь потоков не пуста, то раз в заданный момент времени (по setTimeout) планировщик опять выбирает потоки для запуска и выполняет.

https://github.com/kobezzza/Collecti...rEach.es6#L688
__________________
kobezzza
code monkey
Ответить с цитированием
  #88 (permalink)  
Старый 12.09.2014, 19:58
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

kobezzza,
спасибо за пояснение)
*ушёл делать конкурента Коллекшену *злобно смеётся* *
Ответить с цитированием
  #89 (permalink)  
Старый 12.09.2014, 20:03
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Safort Посмотреть сообщение
kobezzza,
спасибо за пояснение)
*ушёл делать конкурента Коллекшену *злобно смеётся* *
__________________
kobezzza
code monkey
Ответить с цитированием
  #90 (permalink)  
Старый 13.09.2014, 12:31
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Проверил работу в Safari на маке... чёртовы слоупоки всё ещё не поддерживают генераторы Остаётся надежда, что в обещаном релизе Safari 8 они введут поддержку.

Вообще Safari сейчас самый отсталый браузер по поддержки фич и скорости работы. Также не могу найти нормальный ресурс, где пишут о новых фичах / планах новых версий Safari для разработчика, а не для простого пользователя, а то складывается впечатление, что в кроме новой панели вкладок в Safari 8 ничего и нет
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 13.09.2014 в 12:40.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Закрытие и открытие дива по клику OLDBOY Общие вопросы Javascript 30 28.09.2016 19:41
Collection v4 kobezzza Ваши сайты и скрипты 50 13.02.2014 20:10
как обновлять collection каждые 5 секунд sergey_magic Backbone.js 1 29.07.2013 14:31
Collection – фреймворк для управления данными kobezzza Ваши сайты и скрипты 155 10.05.2013 08:59
Удаление всех options в select Ceргей Элементы интерфейса 9 28.11.2012 08:36