Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2020 February 29

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Да при чём тут это
Речь про оптимизации в рантайме. И про деоптимизации
Объекты одинаковой структуры легко оптимизировать, вот и всё
источник

DN

Dmytro Nechai in NodeUA - JavaScript and Node.js in Ukraine
@KD_88 речь была о том, что при использовании ТС функции, обьекты и прочее будет с большей вероятностью мономорфным(можно и на ТС все всрать, но не нужно), если вы пишите на джаваскрипте и так хорошо(не нарушая контракты своиж же сущностей), то разницы особой и не будет.
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
У каждого объекта есть hidden class, речь о том, одинаковый ли он. Мы об этом говорим?
И вот если он одинаковый, то код в рантайме уже знает об этом типе, уже оптимизировал там что-то внутри себя для этого типа
И тс даёт больше контроля над тем, чтобы объекты были одинаковой структуры, следовательно имели один hidden class
источник

M

Maksim in NodeUA - JavaScript and Node.js in Ukraine
Ты сам ответил на свой вопрос. Поэтому тс может быть быстрее, потому что на выходе аккуратный так сказать жс, если не использовать эни тип.
Этот аккуратный жс в8 сможет оптимизировать и да, без нашего участия.
источник

DN

Dmytro Nechai in NodeUA - JavaScript and Node.js in Ukraine
В том, что весь тайпскрипт отсутствует в рантайме, кроме там остатков енамов и еще чего может, вы правы.
Профит идет от того, что он заставляет писать более "строгий" код.
источник

M

Maksim in NodeUA - JavaScript and Node.js in Ukraine
Dmytro Nechai
@KD_88 речь была о том, что при использовании ТС функции, обьекты и прочее будет с большей вероятностью мономорфным(можно и на ТС все всрать, но не нужно), если вы пишите на джаваскрипте и так хорошо(не нарушая контракты своиж же сущностей), то разницы особой и не будет.
+
источник

DN

Dmytro Nechai in NodeUA - JavaScript and Node.js in Ukraine
Деопт одного места не значит деопт вооьще всего.
источник

DN

Dmytro Nechai in NodeUA - JavaScript and Node.js in Ukraine
Ну тогда предлагаю остановиться на том, что мы с вами согласны, просто говорили об одном и том же немного разными буквами.
источник

Mm

Misha mnb3000 in NodeUA - JavaScript and Node.js in Ukraine
Давайте не забывать про такую штуку как Turbofan который в случае с использованием тайпскрипта будет делать опт чаще
источник

M

Maksim in NodeUA - JavaScript and Node.js in Ukraine
А о каких затратах речь?
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Misha mnb3000
Давайте не забывать про такую штуку как Turbofan который в случае с использованием тайпскрипта будет делать опт чаще
Я бы сказал не так
В случае не использования ts деоптимизация может проходить чаще (но не обязательно)
источник

Mm

Misha mnb3000 in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
Я бы сказал не так
В случае не использования ts деоптимизация может проходить чаще (но не обязательно)
Да, правильно сформулировал
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Тут я скорее соглашусь
На js можно писать быстро-быстро, он для этого и нужен, как мне кажется
А если уже решение упирается в перфоманс ноды, есть смысл переписать на c#/java/c++/go/rast, в зависимости от задачи и предпочтений
А не пытаться выгадать такты от оптимизаций, которые может дать v8
источник

M

Maksim in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
Тут я скорее соглашусь
На js можно писать быстро-быстро, он для этого и нужен, как мне кажется
А если уже решение упирается в перфоманс ноды, есть смысл переписать на c#/java/c++/go/rast, в зависимости от задачи и предпочтений
А не пытаться выгадать такты от оптимизаций, которые может дать v8
Возможная скорость кода это маленький бонус, а не причина выбора тс.
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Maksim
Возможная скорость кода это маленький бонус, а не причина выбора тс.
В чём же причина?
Ведь если хочется нормальной статической типизации есть Шарп и жава
источник

M

Maksim in NodeUA - JavaScript and Node.js in Ukraine
Есть и противоположное мнение, что время потраченное на типы окупиться в будущем.
Думаю тс выбирают те кому нравится ооп и устоявшиеся паттерны проектирования. И те кто это умеет. Дело вкуса.
Я немного попробовал тс, мне нравится. И жс нравится. В жс легко писать быстро, но разбираться потом в написанном бывает сложно.
источник

M

Maksim in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
В чём же причина?
Ведь если хочется нормальной статической типизации есть Шарп и жава
👆 и те кто перекатывается с явы и т.п.
источник

M

Maksim in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
В чём же причина?
Ведь если хочется нормальной статической типизации есть Шарп и жава
И с этим я тоже согласен, зря люди так делают. Но они так делают.
источник

R

Roman in NodeUA - JavaScript and Node.js in Ukraine
@tshemsedinov что нужно знать до того как приступать к докеру?
источник

Б

Богдан in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
В чём же причина?
Ведь если хочется нормальной статической типизации есть Шарп и жава
Система типов в джаве и шарпе более слабая чем в тайпскрипте, например там нет "conditional types" (https://mariusschulz.com/blog/conditional-types-in-typescript)
источник