@nodejs_ru

Страница 2250 из 2748
Josh
04.07.2018
09:50:04
Avg: 0.005072 Avg: 0.004649 Avg: 0.004161 Avg: 0.004927 Avg: 0.004348

?
04.07.2018
09:50:52
при 100 циклах все меняется!
У меня при ляме выдал Avg: 0.023357.

Josh
04.07.2018
09:51:26
при ляме Avg: 0.003270

суть то не в лямах, мне надо, чтобы изначально было хорошее значение

Google
Josh
04.07.2018
09:52:14
то, что он со временем оптимизирует - понятно

но на практике у меня дергается в событии функция и нифига она не оптимизируется спустя сутки

я как лох не успеваю покупать вещи ))

а если и успеваю, то наверное из-за глюка или подскачившего пинга конкурентов

на Go говорят такая же хурма

?
04.07.2018
09:54:44
суть то не в лямах, мне надо, чтобы изначально было хорошее значение
Меньше чем 0.2хх мс у меня на трёх аппаратах не выдал по первому проходу. В общем, даже хз куда копать.

Josh
04.07.2018
09:55:30
че он там оптимизирует то? и так пустышка

я планирую мемоизировать все функции по параметрам, там в районе 2000 получится, а вместо парсинга использовать поиск подстроки, но надо вот еще эту задачу решить: чтобы сразу подготавливал функцию, а не спустя время че-т там шаманил с ней

Josh
04.07.2018
10:05:55
Попробуй редьюс на цикл заменить Цикли быстрее
да причем тут подсчет в конце через что идет и каким образом цикл устроен

подсчет идет времени выполнения ПУСТОТЫ

Yura
04.07.2018
10:06:25
Я тупанул, согласен

Josh
04.07.2018
10:06:37
☹️ такие дела

Google
Yura
04.07.2018
10:07:22
☹️ такие дела
Тебе на ноду надо?

Именно на ноду и все?

Josh
04.07.2018
10:07:45
ну парни на С написали и хлопают в ладоши, в соло весь рынок гребут

Artur
04.07.2018
10:07:57


Josh
04.07.2018
10:08:05
а разработчикам пофиг ваще

Artur
04.07.2018
10:08:28


Yura
04.07.2018
10:08:29
ну парни на С написали и хлопают в ладоши, в соло весь рынок гребут
Есть варик написать модуль на с++ на ноду На хабре статьи были как это сделать

Josh
04.07.2018
10:08:36
Именно на ноду и все?
на всем умею, а если не умею, то синтаксис подучить и поехал

но на С я не могу сходу, тяжело

там протокол еще идиотский - amqp

Yura
04.07.2018
10:10:47
Слушай А ты как тестируешь ? В браузере?

Josh
04.07.2018
10:11:10
нет, конечно, с консольки по ссш на впс

думаешь прокатит, если я получать буду с amqp событие, а потом дергать с++ бинарник?

как бы в нем мне надо обращаться к бд, которая завязана на пользователей с телеги

по сути мне передать в функцию принятия решения на С надо токен текущего пользователя, валюту и ее количество, на выходе получить решение о покупке, хотя там всего-то проверка цены и дробление баланса пользователя, если на выкупку не хватает

че-т я не уверен, что модуль отработает быстрее, чем нода, пока бинарник этот загрузится еще

Yura
04.07.2018
10:16:20
думаешь прокатит, если я получать буду с amqp событие, а потом дергать с++ бинарник?
Ну я думаю отработает быстрее Только вопрос в том насколько

Josh
04.07.2018
10:16:25
а писать под С общение с amqp...

Artur
04.07.2018
10:26:21
Знает кто-то?



Google
Artur
04.07.2018
10:26:22


Vanya
04.07.2018
10:31:59
потому что запрос выполнился

Artur
04.07.2018
10:36:32
потому что запрос выполнился
то есть ошибка будет если сервер не вернет вообще никакого ответа?

Vanya
04.07.2018
10:40:26
Не юзал чай, хз??‍♂️

Max
04.07.2018
10:41:13
Народ, никто с таким не сталкивался? https://github.com/yarnpkg/yarn/issues/3973

Vitaliy
04.07.2018
10:42:13


как изменить mas в .then ?

работает если вынесли mas в глобальную, но один раз почему-то не срабатывает все ровно)

Konstantin
04.07.2018
10:46:24
Andry
04.07.2018
10:46:26
как изменить mas в .then ?
а ты и меняешь, только уже после того как res.json(mas) отработал

Konstantin
04.07.2018
10:47:13
asyncCall().then(data => someLogic).then(data => res.json(data)).catch(err => logicWithError)

Konstantin
04.07.2018
10:47:40
или если хочешь, что б было типа как синхронное, используй async/await

Andry
04.07.2018
10:47:57
res.json и res.end надо внутри then делать после for, например

Josh
04.07.2018
10:48:10
'use strict'; const now = require('performance-now'); const foo2 = () => { }; setInterval(() => { let start = now(); foo2() console.log('Time: ' + (now() - start).toFixed(6)); }, 500)



ну какого хрена а

Yura
04.07.2018
10:49:31
ну какого хрена а
Хочешь быстро, не юзай ноду

Josh
04.07.2018
10:49:48
класс

и дело уже не в скорости совершенно, а в принципе работы ушлепном

Google
Josh
04.07.2018
10:52:16
в 6 раз уменьшать время вызова поприколу, что мешает сразу???

Alexander
04.07.2018
10:53:39
Так v8

Он пытается оптимизировать запрос раз за разом

Josh
04.07.2018
10:54:08
чего там оптимизировать то?

Alexander
04.07.2018
10:54:14
Если видит, что не получается после n попыток, то бросает это дело

Josh
04.07.2018
10:54:21
он должен вообще выполниться за мгновение

Andry
04.07.2018
10:56:43
чего там оптимизировать то?
хотя бы привязку глобального контекста внутрь функции

Josh
04.07.2018
10:57:43
setInterval(() => { const foo2 = () => {}; let start = now(); foo2() console.log('Time: ' + (now() - start).toFixed(6)); }, 500)

одна фигня

Admin
ERROR: S client not available

Josh
04.07.2018
10:58:00
Time: 0.035363 Time: 0.010733 Time: 0.004356 Time: 0.005006 Time: 0.005180 Time: 0.007725 Time: 0.004702

Andry
04.07.2018
10:59:04
одна фигня
а что поменялось? теперь только функция каждый раз создаётся

Josh
04.07.2018
10:59:54
глобальный контекст не привязывается, пусть создается

это вне замеров

Alexander
04.07.2018
11:00:12
так там ничего не делай в принципе, результат будет похожим

Andry
04.07.2018
11:00:14
привязывается, тут же стрелочные функции

Josh
04.07.2018
11:00:35
ок что мне сделать, чтобы было оптимальней?

Josh
04.07.2018
11:01:39
и это еще без смысловой нагрузки... какого хрена она вообще 0.03 делает? за это время можно горы наворотить

в8 шустрый говорили мне, ну-ну =(

Google
Josh
04.07.2018
11:02:32
может как-то предвызывать ее до начала работ

Yurii
04.07.2018
11:02:53
может как-то предвызывать ее до начала работ
https://jsblog.insiderattack.net/handling-io-nodejs-event-loop-part-4-418062f917d1

Andry
04.07.2018
11:03:01
ок что мне сделать, чтобы было оптимальней?
что-то типа: 'use strict'; const now = require('performance-now'); let start; const foo = function() {}; const handler = function() { start = now(); foo(); console.log('Time: ' + (now() - start).toFixed(6)); } setInterval(handler, 500);

Josh
04.07.2018
11:03:04
Time: 0.017338 Time: 0.010853 Time: 0.004354 Time: 0.004455 Time: 0.005835 Time: 0.014357 Time: 0.015967 Time: 0.006865 Time: 0.004426 Time: 0.006312 Time: 0.003984 Time: 0.005003 Time: 0.006718 Time: 0.006466 Time: 0.020073

вообще кошмар

я думал сахар делает тож самое

Yurii
04.07.2018
11:04:29
есть такая штука, что каждую итерацию цикла libuv ждёт "polling I/O", в статье расписано, что там может производительность проседать, потому что этот этап и итерация не закончится, пока не появится какое-то действие, что повлияет на I/O

Andry
04.07.2018
11:05:41
но там в любом случае куча сопроводительного кода: GC, EventLoop... да и давно известно, что нода для числодробилки не годится)

Yurii
04.07.2018
11:05:45
проштудирую сейчас тоже, спасибо
это ссылка на последнюю статью из цикла, советую начать с первой и базовых разъяснений о EventLoop

Andry
04.07.2018
11:07:00
до версии 10.5) Скоро будут Worker'ы и можно будет фигачить математику) ✌️
так только потоки для этого добавят или что-то ещё?

Yurii
04.07.2018
11:08:48
так только потоки для этого добавят или что-то ещё?
ну потоки это уже нехилый update) ещё выйдут из экспериментальных ecmascript modules и http/2 - вообще жара будет ?

Alexander
04.07.2018
11:09:06
setInterval(() => { const foo2 = () => {}; let start = now(); foo2() console.log('Time: ' + (now() - start).toFixed(6)); }, 500)
так setInterval не гарантирует тебе срабатывание через 500мс. он гарантирует, что включится не раньше, чем через 500мс

Josh
04.07.2018
11:09:14
это ссылка на последнюю статью из цикла, советую начать с первой и базовых разъяснений о EventLoop
да капец, я даже не джун, хотя обчитался уже литературы, в такие дебри уходить приходится

Josh
04.07.2018
11:09:56
так setInterval не гарантирует тебе срабатывание через 500мс. он гарантирует, что включится не раньше, чем через 500мс
да хоть через час, я просто дергаю функцию и замеряю ее выполнение через определенный интервал

у меня это на евенте висит, когда по amqp приходит месаг

приходит раз в минуту где-то, и каждый раз у меня отработка идет по 0.5мс кода

а у парней 0.001мс на сях

правда я ниразу не оптимизировал еще там ничего, зато по красоте расписал все и в модуль завернул, теперь начал оптимизировать и такая хурма даже не пустом месте идет 0.03

Страница 2250 из 2748