Тут не исправить уже ничего, Господь, жги! Войти !bnw Сегодня Клубы
УНЯНЯ. У нас есть немножечко инфы об этом пользователе. Мы знаем, что он понаписал, порекомендовал и даже и то и другое сразу. А ещё у нас есть RSS.
Теги: Клубы:

буквально вчера хотел написать как сяваскриптеры сверхуспешно интегрируют худшие черты академического кругодроча в своё комунити, но вдруг выяснил что они вообще всех переплюнули и за свой кругодроч они тупо получают гринкарту: https://www.julian.com/blog/how-to-get-a-green-card
#60B0FA (2) / @anonymous / 2902 дня назад
#507JP3 Лан, забенчмаркал (не ебу, что там модно в ноде для measure, поэтому наколенный timeit): ``` &#39;use strict&#39;; const NUMBER = 100000; const REPEAT = 50; function repeater(func, number) { let total = 0; for (let i = 0; i < number; i++) { let hrstart = process.hrtime(); func(); let [seconds, nanoseconds] = process.hrtime(hrstart); total += seconds + nanoseconds / 1e9; } return total; } function measure(func, number, repeat) { let results = []; for (let i = 0; i < repeat; i++) { results.push(repeater(func, number)); } let sum = results.reduce((prev, cur) => prev + cur, 0); let mean = sum / results.length; results.sort((a, b) => a - b); let lowMiddle = Math.floor((results.length - 1) / 2); let highMiddle = Math.ceil((results.length - 1) / 2); let median = (results[lowMiddle] + results[highMiddle]) / 2; return { min: Math.min(...results), max: Math.max(...results), mean, median, } } let functions = [ function nat() { let foo = &#39;FOO&#39;; let bar = &#39;BAR&#39;; [foo, bar] = [bar, foo]; }, function trans() { let foo = &#39;FOO&#39;; let bar = &#39;BAR&#39;; let _ref = [bar, foo]; foo = _ref[0]; bar = _ref[1]; }, function man() { let foo = &#39;FOO&#39;; let bar = &#39;BAR&#39;; let tmp = foo; foo = bar; bar = tmp; }, ] for (let func of functions) { console.log(func.name); console.dir(measure(func, NUMBER, REPEAT)); console.log(); } ``` Будующее наступило, кек: ``` nat { min: 0.021939473999997218, max: 0.03362961399999802, mean: 0.023124280179997854, median: 0.022092939999997584 } trans { min: 0.012233300999998429, max: 0.013627073000000092, mean: 0.012583868739997521, median: 0.012628050999996903 } man { min: 0.013218492999997385, max: 0.013590439999997697, mean: 0.013309132479997161, median: 0.01329254449999722 } ``` ``` $ nodejs -v v6.2.2 ```
#I9XHFP (5) / @anonymous / 3733 дня назад
Почему «кококо кудкудах язык развивается завезли новые фичи (прямо из 70-х, ага) у меня es2017 stage-0 в пердакшене я транспилер подключил и всё ок» — это хуета. Нет, не так. ХУЕТА. Вот вам пример сахара. Проще некуда: `a, b = b, a` В ES6 (2015) завезли (ура!). Но с уёбищным синтаксисом через деструктуризацию: `[a, b] = [b, a]` JS-движки оптимизируют, конечно, и не будут создавать массив. Ну хуй с ним, с синтаксисом. Посмотрим, как транспилит это модный бэйбл: ``` [foo, baz, bar] = [bar, baz, foo] ``` => ``` var _ref = [bar, baz, foo]; foo = _ref[0]; baz = _ref[1]; bar = _ref[2]; ``` Ожидаемо. Теперь вопрос. Насколько создание объекта (массива) и индексирование (три раза) будет медленнее прямого обмена референсов? Или даже ручного обмена с временной переменной? А потом приложения в браузере тормозят на топовых железках, ага. Поиграться в бэйблским реплом: https://babeljs.io/repl/#?evaluate=false&lineWrap=false&presets=es2015&code=%5Bfoo%2C%20baz%2C%20bar%5D%20%3D%20%5Bbar%2C%20baz%2C%20foo%5D
#507JP3 (7) / @anonymous / 3734 дня назад
#YJGQ9S (2) / @anonymous / 4001 день назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.