Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2020 October 21

Y

Yaroslav in NodeUA - JavaScript and Node.js in Ukraine
Ок. Тогда понятно как они роутинг делают, как скалируют. Но вот если воркер долго не используется в ноде есть механизмы анреквареинга?
источник

Y

Yaroslav in NodeUA - JavaScript and Node.js in Ukraine
Хотя там не нода а что-то поверх v8
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Yaroslav
Ок. Тогда понятно как они роутинг делают, как скалируют. Но вот если воркер долго не используется в ноде есть механизмы анреквареинга?
можно удалять из кеша, но что значит "давно не используется"?
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Yaroslav
Хотя там не нода а что-то поверх v8
в ноде то же делает библиотека vm
источник

Y

Yaroslav in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
можно удалять из кеша, но что значит "давно не используется"?
Условно нет вызовов свыше установленного времени.
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Yaroslav
Условно нет вызовов свыше установленного времени.
твой код в процессе занимает меньше 1%
источник
2020 October 22

AV

Anatolii Vorobiov in NodeUA - JavaScript and Node.js in Ukraine
Привет. есть вопрос. Буду благодарен за ответ. Насколько тяжёлая операция сравнения двух больших строк в nodejs, к примеру в java сравнение было б моментально через хеш. Как поведет себя нода на двух стрингах по 4096 байт каждая, если нода будет сравнивать такие строки на сервере каждые 5 секунд.
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Anatolii Vorobiov
Привет. есть вопрос. Буду благодарен за ответ. Насколько тяжёлая операция сравнения двух больших строк в nodejs, к примеру в java сравнение было б моментально через хеш. Как поведет себя нода на двух стрингах по 4096 байт каждая, если нода будет сравнивать такие строки на сервере каждые 5 секунд.
а что, в жабе хэш строится для строки безусловно, в момент её создания?
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Anatolii Vorobiov
Привет. есть вопрос. Буду благодарен за ответ. Насколько тяжёлая операция сравнения двух больших строк в nodejs, к примеру в java сравнение было б моментально через хеш. Как поведет себя нода на двух стрингах по 4096 байт каждая, если нода будет сравнивать такие строки на сервере каждые 5 секунд.
Раз в 5 секунд это точно не хайлоад, вы даже не заметите
источник

AV

Anatolii Vorobiov in NodeUA - JavaScript and Node.js in Ukraine
Ок, а если таких сообщений будет 50 в секунду?  Нода по байтам будет сравнивать стоки или есть оптимизация на уровне V8?
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Anatolii Vorobiov
Привет. есть вопрос. Буду благодарен за ответ. Насколько тяжёлая операция сравнения двух больших строк в nodejs, к примеру в java сравнение было б моментально через хеш. Как поведет себя нода на двух стрингах по 4096 байт каждая, если нода будет сравнивать такие строки на сервере каждые 5 секунд.
я даже в доку залез
сравнение строк в жаве работает точно так же, как и везде: посимвольно
никакого сравнения хэшей, вы вообще о чём?
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Anatolii Vorobiov
Ок, а если таких сообщений будет 50 в секунду?  Нода по байтам будет сравнивать стоки или есть оптимизация на уровне V8?
Это легко проверить простейшим бенчмарком. Нагенерировать себе 100500 таких строк и посравнивать их между собой в каком-нибудь цикле фор. Меряете время, кол-во итераций известно. Делите второе на первое - получаете теоретический потолок
источник

AV

Anatolii Vorobiov in NodeUA - JavaScript and Node.js in Ukraine
Alexander
Это легко проверить простейшим бенчмарком. Нагенерировать себе 100500 таких строк и посравнивать их между собой в каком-нибудь цикле фор. Меряете время, кол-во итераций известно. Делите второе на первое - получаете теоретический потолок
Ок, спасибо, прогоню бейнчмарк
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
я даже в доку залез
сравнение строк в жаве работает точно так же, как и везде: посимвольно
никакого сравнения хэшей, вы вообще о чём?
это тем более странно, учитывая, что равенство хэшей не означает, что строки одинаковые, поскольку коллизии никто не отменял
@anatoly_vorobyov поэтому очень хотелось бы получить пояснение про хэши, может я что-то упустил
источник

AV

Anatolii Vorobiov in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
это тем более странно, учитывая, что равенство хэшей не означает, что строки одинаковые, поскольку коллизии никто не отменял
@anatoly_vorobyov поэтому очень хотелось бы получить пояснение про хэши, может я что-то упустил
это скорее я ошибся. Но string pool как то в java тоже должен оптимизировать сравнение
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Anatolii Vorobiov
это скорее я ошибся. Но string pool как то в java тоже должен оптимизировать сравнение
если ты позаботишься об этом самостоятельно
но вообще да, оптимизировать можно
источник

VG

Vladislav Golovatyi in NodeUA - JavaScript and Node.js in Ukraine
привет. выполняю npm install и получаю вот такую ошибку.
Error: Failed to replace env in config: ${NODE_AUTH_TOKEN}
Error: npm.load() required

нода последней версии LTS.
попробовал варианты с удалением/редактированием файла .npmrc отсюда, но не помогло https://stackoverflow.com/questions/52015748/npm-failed-to-replace-env-in-config-npm-token

как можно пофиксить?
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
Anatolii Vorobiov
Ок, спасибо, прогоню бейнчмарк
можете вот здесь полюбоваться как V8 сравнивает строки https://github.com/v8/v8/blob/4b9b23521e6fd42373ebbcb20ebe03bf445494f9/src/objects/string.cc#L666
если разная длина - сразу false. потом все-таки колдует с что-то с Hash.
источник

AV

Anatolii Vorobiov in NodeUA - JavaScript and Node.js in Ukraine
Elena Sharovar
можете вот здесь полюбоваться как V8 сравнивает строки https://github.com/v8/v8/blob/4b9b23521e6fd42373ebbcb20ebe03bf445494f9/src/objects/string.cc#L666
если разная длина - сразу false. потом все-таки колдует с что-то с Hash.
Круто, спасибо за инфу
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
только если эти хэши есть
вопрос в том, в какой момент они появляются
источник