Pull to refresh
7
Karma
0
Rating
Serg Louter @Louter

User

Реализации setImmediate: сообщения, мутация или обещания, что быстрее?

Website development *JavaScript *
Recovery mode


Доброго времени суток, %username%! Маленькое исследование на тему «какой же способ поставить функцию/метод на обработку в очередь эффективнее» и, как результат, сравнительный тест, и итоговая реализация схожей с setImmediate функции. Этот метод нужен тем, кто хочет разбивать выполнение скрипта, чтобы тот не «подвешивал» браузер, что бывает полезно при огромном скрипте инициализации, разборе большого массива данных, построения сложной структуры не прибегая к WebWorkers.

Для понимания: setImmediate это метод объекта window, который должен вызвать функцию, переданную в неё, асинхронно, эдакий setTimeout(fn, 0), где 0 реально 0, а не минимум 4. Для nodejs-программистов это process.nextTick. Т.к. сам метод (setImmediate) имеет чёткий стандарт с ошибками и дополнительными параметрами, рассмотрим абстрактную задачу асинхронного выполнения переданной функции/метода как можно быстрее.

Исследования исключительно в рамках сценариев браузера, при чём основных, т.к. в работниках (workers) не совсем понятно зачем такое дробление, хотя если нужно, можно попробовать обещания и сообщения.

Итак, давайте узнаем, что же лучше подходит: postMessage, MutationObserver или Promise?
Познаём
Total votes 13: ↑12 and ↓1 +11
Views 10K
Comments 9

IO.js или старые грабли под новым соусом

Website development *JavaScript *Node.JS *


«Свершилось! Node.js получило развитие в виде форка io.js! Привет ES6! Привет новый V8!» радовались разработчики. Полез смотреть с надеждой, что вот сейчас, начав с нуля, ребята исправили фундаментальные косяки!

Какие фундаментальные ошибки допущены и почему без их исправления промышленный масштаб является спорным или попросту недостижимым. Это не статья-страшилка, как её можно понять, это просьба о помощи, т.к. нода показательно застопорилась, и надежда только в данном проекте.
По пунктам
Total votes 38: ↑21 and ↓17 +4
Views 11K
Comments 29

GamepadAPI или джойстик в браузере

Website development *JavaScript *CoffeeScript *

Здравствуй, Хабр!





Смотря, как всё более новые и новые технологии внедряются в веб, смотря, как в него переносят игры, я задумался: «А было бы круто, если бы геймпад тоже можно было подключить...». И в поиске первым же результатом было GamepadAPI.
Немного ниже ссылка на W3C GamepadAPI. Посмотрев, попробовав, я обнаружил ряд проблем, подводных камней, которые поставили бы крест на внедрении джойстиков в браузер. И я решил это исправить, создав интерфейс. Что есть «из коробки», и что именно было доработано, изменено и на мой взгляд улучшено, описано под катом.

Чтобы ходить по воде, надо знать, где подводные камни...
Total votes 28: ↑23 and ↓5 +18
Views 22K
Comments 20

FDroid как замена Google Play. Возможно ли и чем придётся жертвовать?

Development for Android *
FDroid logo

Здравствуй, Хабр!


Навеяно постом «Темная сторона Google Play».
Т.к. Android базируется на ядре Linux, то странно было бы отказываться от идеологии Linux, в частности от множества репозиториев. Но что меня удивило, так что об альтернативе Google Play знают не все, даже связанные с IT, люди.

Где-то полгода назад я принципиально отказался от услуг Google в пользу FDroid на одном из планшетов. И о результатах текущего эксперимента поведаю сообществу. О причинах, о плюсах, минусах под катом.
Читать дальше →
Total votes 38: ↑20 and ↓18 +2
Views 38K
Comments 20

Asm.js практика

JavaScript *
Sandbox
image
Этим прохладным днём я искал алгоритмы и реализации вычисления числа пи. Алгоритмов нашлось какое-то несметное множество, но тут нашёлся пост с описанием алгоритма и его реализацией на си.
Алгоритм подкупает своей скоростью, хоть и выдаёт hex представление, но так уж вышло, что мне нужен был вариант на js. Моментальная, практически, переработка на обычный js показала очень плохую статистику, работа при подсчёте 1000000-ого знака заняла… 48 секунд (4ГГц FF).
О том, как возился с asmjs и каких камней повстречал можно узнать под катом.
Читать дальше →
Total votes 46: ↑43 and ↓3 +40
Views 33K
Comments 43

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity