Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 January 22

Д

Дмитрий in NodeUA - JavaScript and Node.js in Ukraine
ага. а еще поиграться с настройками компилятора тс. попробовать покомпилить в разные версии жс, попробовать на разных версиях нод, и в итоге попробовать прикрутить еще и google closure compiler
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
Miseo
Значит что бы это проверить, мне надо взять какой то код с тучей вычислений, склонировать папку и в копию внедрить тайпскрипт и делать замеры?
Javascript не предназначен для вычислений если вы про научного  типа вещей
источник

E

Eugene in NodeUA - JavaScript and Node.js in Ukraine
Miseo
Я тут прочитал что компилируемый язык может быть до 100 раз быстрее интерпретируемого. Соответственно вопрос: ускоряет ли тайпскрипт исполнение кода?
Нет. TS не присутствует в рантайме сам по себе, только некоторые полифилы, а вот они уже теоретически могут замедлять. Но на практике врядли это будет заметно, так как большенство тормозов на уровне I/O
источник

M

Miseo in NodeUA - JavaScript and Node.js in Ukraine
Дмитрий
ага. а еще поиграться с настройками компилятора тс. попробовать покомпилить в разные версии жс, попробовать на разных версиях нод, и в итоге попробовать прикрутить еще и google closure compiler
Настройками? ) я думал там типизацию добавил и полетели )) типа Майкрософт сам посыпал это «магией» )
источник

Д

Дмитрий in NodeUA - JavaScript and Node.js in Ukraine
кстати насчет вычислений, тут уже может помочь вебассембли
можно также вспомнить что несовсем тайпскрипт, но ассемблискрипт умеет компилиться в васм.
васм лучше чем жс справляется с числовыми вычислениями. главное не забывать что в жс бывает только float 64, а васм имеет еще i32, i64, f32 помимо него
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
Miseo
Настройками? ) я думал там типизацию добавил и полетели )) типа Майкрософт сам посыпал это «магией» )
нет просто в Typescript есть куча полезных возможностей типа интерфейсов, декораторов, приватных проперти и тд.
источник

Д

Дмитрий in NodeUA - JavaScript and Node.js in Ukraine
Miseo
Настройками? ) я думал там типизацию добавил и полетели )) типа Майкрософт сам посыпал это «магией» )
не, там много настроек)
как минимум таргет компиляции покрутить в разные стороны точно не помешало бы
и то это будет зависить от того как в том или ином таргете реализованы те или иные фичи
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
Дмитрий
кстати насчет вычислений, тут уже может помочь вебассембли
можно также вспомнить что несовсем тайпскрипт, но ассемблискрипт умеет компилиться в васм.
васм лучше чем жс справляется с числовыми вычислениями. главное не забывать что в жс бывает только float 64, а васм имеет еще i32, i64, f32 помимо него
10/3 = 3.3333333333333335 😂😂
источник

Д

Дмитрий in NodeUA - JavaScript and Node.js in Ukraine
Islom Jumaniyozov
10/3 = 3.3333333333333335 😂😂
ну это уже вина десятиричной системы)
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Miseo
Я тут прочитал что компилируемый язык может быть до 100 раз быстрее интерпретируемого. Соответственно вопрос: ускоряет ли тайпскрипт исполнение кода?
Нет. Вы собственно уже ответили на свой вопрос. А что касается TypeScript - не ускоряет, скорее помогает "не допускать детских ошибок", как ранее было сказано Тимуром. Я же в принципе где-то также считаю.
источник

DD

Dmytro Drachov in NodeUA - JavaScript and Node.js in Ukraine
смотря как ты пишешь js и как ты пишешь ts.

ts не заботиться ни о чем кроме того чтобы проверить типы сказать молодец и сделать js, в лучшем случае твой js будет такой же как и ts(часто это не так по этому и не люблю, тут был больше по душе flow, но он не зашел на рынок и особо не популярен).

фишка в том что js интерпритуремый но есть куча всяких штук которые следят что происходит в рантайм(не буду называть каких бо они тоже меняютсья) и могут взять да понять что у тебя тут всегда инты или масивы из строк да и скомпилировать эту часть кода под конкретную платформу. Есть оптимизации как инлайн чтобы избежать вызова функции.

Так вот хорошо настроеный тс проект может помочь писать разрабам которые не шарят в этой лабуде вполне приличный код который с большей вероятностью будет оптимизирован в v8. Но я считаю что это все же не цель ts. Ну и сам ts не компилиться, он транспайлиться, или все уже забыли про coffee script?=)
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
Miseo
Настройками? ) я думал там типизацию добавил и полетели )) типа Майкрософт сам посыпал это «магией» )
просто Typescript компилируется за счет этого уже есть кое какая проверка синтаксиса которая  проверяет не вызывается ли не существующая функция и тд.
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
Miseo
Настройками? ) я думал там типизацию добавил и полетели )) типа Майкрософт сам посыпал это «магией» )
если вы посмотрите скомпилированный код и запустите её там уже от типов ничего нет и даже там где вы бы хотели что бы значение принимало которую вы задавали она не будет выдавать ошибку и продолжит работу
источник

Д

Дмитрий in NodeUA - JavaScript and Node.js in Ukraine
тс разве что компилит только в более удобную для интерпритаторов форму
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
Коротко говоря TS к сожалению не спасает от логических ошибок в коде
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Miseo
Я тут прочитал что компилируемый язык может быть до 100 раз быстрее интерпретируемого. Соответственно вопрос: ускоряет ли тайпскрипт исполнение кода?
Машинный код тем и быстр что у него есть прямые доступы к ресурсам компьютера, в этом случае на вас лежит ответственность за контроль этих ресурсов, но это другая история. Интерпретируемый код исполнения крутиться грубо говоря в песочнице и и прямых доступов у вас как правило нет, у вас есть только интерфейс.
источник

DD

Dmytro Drachov in NodeUA - JavaScript and Node.js in Ukraine
у интерпритаторов есть только две формы, валидная и не валидная=)
источник

M

Miseo in NodeUA - JavaScript and Node.js in Ukraine
Дмитрий
кстати насчет вычислений, тут уже может помочь вебассембли
можно также вспомнить что несовсем тайпскрипт, но ассемблискрипт умеет компилиться в васм.
васм лучше чем жс справляется с числовыми вычислениями. главное не забывать что в жс бывает только float 64, а васм имеет еще i32, i64, f32 помимо него
О. Вот это уже интереснее. Допустим у меня раз в 250 мсек прилетает объект. Здоровый. И мне его надо быренько перебрать. Сгруппировать, потом посчитать суммы, поделить, короче ряд вычислений по параметрам и так же быстренько отправить дальше. В таком случае мне почитать про васм или посмотреть как эти расчеты сделать на С++ а потом подключить к ноде?
источник

IJ

Islom Jumaniyozov in NodeUA - JavaScript and Node.js in Ukraine
Miseo
О. Вот это уже интереснее. Допустим у меня раз в 250 мсек прилетает объект. Здоровый. И мне его надо быренько перебрать. Сгруппировать, потом посчитать суммы, поделить, короче ряд вычислений по параметрам и так же быстренько отправить дальше. В таком случае мне почитать про васм или посмотреть как эти расчеты сделать на С++ а потом подключить к ноде?
для этого используют Python с numpy
там нету таких мучений с С++
ну если это для вычеслений
источник

DD

Dmytro Drachov in NodeUA - JavaScript and Node.js in Ukraine
твоя первая проблема это здоровенький обьект который json и тебе его надо распарсить и проверить валидность.
источник