Aleksei
я помню шутку Егорова на holyjs - "хотите, чтобы языки, написанные на С быстро работали - пишите код максимально близко к С"
Vitaliy
а инлайнинг разве не решает это?
Aleksei
а инлайнинг разве не решает это?
в v8 встречаются баги, когда не решает
Vitaliy
https://ariya.io/2013/04/automatic-inlining-in-javascript-engines
Anonymous
как можно рекомендовать писать на R, если на нем в принципе невозможно аппу написать?
Quiet
Написал модуль, который фетчем урлу тянет (json) и написал импорт на переменную. До модульности (когда код был в основном файле), уровень вложенности в jsonе был на 1 меньше, а после модуля появилось {"назва переменной": {вывод файла json}} как изменить уровень вложенности jsonа, что бы он стал таким как до модульности? https://github.com/dns2316/skb3
Quiet
Так рабочего ответа вчера не поступило
Vlad
ты ссылку на целый репо дал
Vlad
какие файлы
Vlad
так ты и не ответил
Quiet
ты же ещё вчера спрашивал, а на мой вопрос шутканул
Я вчера еще несколько вариантов попробовал) Src/pc, index
Vlad
вот этот код точно не ломает ничего? https://github.com/dns2316/skb3/blob/master/src/pc.js#L11-L13
Quiet
Ну он же .then то есть он выполняется после предыдущего then (офф. доки)
Vlad
смотри
Vlad
я починил
Vlad
ага
Vlad
но только он должен возвращать что-нибудь
Vlad
let pc = {}; const pcUrl = 'https://gist.githubusercontent.com/isuvorov/ce6b8d87983611482aac89f6d7bc0037/raw/pc.json'; export default () => fetch(pcUrl).then(res => res.json());
Vlad
ошибки промисов надо ловить при их использовании, а не при объявлении
Quiet
Пробовал так уже)
Vlad
// res.json(pc().then(pc => console.log(pc))); pc().then(_ => res.json(_));
Славик
.then(pc => console.log(pc)))
Славик
вот это можно записать короче: .then(console.log)
Quiet
Спасибо, сейчас попробую)
Vlad
и в хроме мб
Vlad
https://github.com/dns2316/skb3/blob/master/src/index.js#L29-L31
Славик
ну если у человека стрелочная функция работает, то и это будет
Vlad
что ты на этих строках делаешь?
Vlad
pc ведь функция
Quiet
что ты на этих строках делаешь?
Этот код раскритиковали уже 😁
Quiet
Там в комментариях я написал, что звездочкой можно сделать
Quiet
Он перебирает параметры из адресной строки браузера
Vlad
я понял, что pc.js работает нормально как минимум в моём варианте
Vlad
я не про раутинг твой
Vlad
я про pc[foo][bar]
Vlad
где pc это функция
Quiet
Он берет в json pc индексы
Quiet
Объявлен импорт в начале страницы
Vlad
импорт в начале да
Vlad
но это всё равно функция
Vlad
а не результат её работы
Quiet
Я пробовал его функцией сделать
Ohar
Я пробовал его функцией сделать
Владимир всё верно говорит
Vitaliy
чееее?
вот, например. sum += i * i vs sum = i * i + sum — казалось бы. «It is completely unobvious unless of course you know by heart how register allocator makes its decisions» http://mrale.ph/blog/2013/04/29/performance-tuning-as-weather-forecast.html
Vlad
Я пробовал его функцией сделать
вот сделай так const url = 'https://gist.githubusercontent.com/isuvorov/ce6b8d87983611482aac89f6d7bc0037/raw/pc.json'; let cachedResult; const addToCache = _ => { cachedResult = _; return _; } export default () => cachedResult ? Promise.resolve(cachedResult) : fetch(url).then(res => res.json()).then(addToCache);
Ohar
pc[req.params.var1] Это просто ссылка на метод с именем req.params.var1 у функции pc. Вот только у неё вроде бы как нет такого метода и тут undefined
Vlad
ага
Vlad
pc().then(res => res[whatever])
Stas
Ilia
этот бенч не отражает всей картины
Vlad
вангую, что h2o плохо готовят
Ilia
Какой картины?
скорости работы веб-серверов в дальнейшем, при написании говнокода
Vitaliy
вот, например. sum += i * i vs sum = i * i + sum — казалось бы. «It is completely unobvious unless of course you know by heart how register allocator makes its decisions» http://mrale.ph/blog/2013/04/29/performance-tuning-as-weather-forecast.html
ну и смотришь, как писать быстрый код для v8, и понимаешь, что от js до asm — рукой подать https://www.youtube.com/watch?v=UJPdhx5zTaw
Ohar
ох уж эти пузомерки бессмысленные
🌚
Я пробовал его функцией сделать
app.get('/3a', async (req, res) => { res.json(await pc()); });
🌚
если проблема была в том, что ничего не выводилось на страницу
🌚
и убрать .then(function (res) { console.log('Was parsed json!'); }) .catch (err => { console.log('Error: ', err); }); как говорили выше
Quiet
Всем спасибо! =)
Vlad
Всем спасибо! =)
разобрался?
Anonymous
и Егоров не случайно сказал про си кагбе
Anton
ну и смотришь, как писать быстрый код для v8, и понимаешь, что от js до asm — рукой подать https://www.youtube.com/watch?v=UJPdhx5zTaw
крутое видео, но вот что бы в реальности писать такой же код, нужно быть девом V8
Anonymous
так-то понятно как компьютер работает
Quiet
разобрался?
подскажешь еще с volumes? 😔 там не начинается цикл if (pc.hdd)
Vlad
сохрания результата pc() в переменную
Vlad
и ипользуюй её
Vlad
подскажешь еще с volumes? 😔 там не начинается цикл if (pc.hdd)
а вообще прочитай вот эту репу https://github.com/mattdesl/promise-cookbook
Quiet
Quiet
уже попробовал
Sergey
Lazy load тебе нужен
Sergey
Хочешь сделаю в твой реп ПР через 15 минут?
Vitaliy
и Егоров не случайно сказал про си кагбе
что-то подумал, и да, согласен. действительно си. надо бы на досуге усилить понимание этой магии js -> magic -> машинные коды :) мм, не заметил.. про си — это в статье было?
Vlad
pc = pc()