Remix.run Logo
embedding-shape a day ago

Why is that so unbelievable? TypeScript isn't JavaScript, and while they have the same runtime, compiled TypeScript often don't look like how you'd solve the same problem in vanilla JS, where you'd leverage the dynamic typing rather than trying to work around it.

See this example as one demonstration: https://www.typescriptlang.org/play/?q=8#example/enums

The TS code looks very different from the JS code (which obviously is the point), but given that, not hard to imagine they have different runtime characteristics, especially for people who don't understand the inside and outs of JavaScript itself, and have only learned TypeScript.

xnorswap a day ago | parent [-]

Enums are one of only a few places where there is significant deviation, I don't believe that makes it 400% less efficient.

embedding-shape a day ago | parent [-]

Maybe read the paper and see if you can figure out their reasoning/motivation :) https://dl.acm.org/doi/10.1145/3136014.3136031

One thing to consider, is that with JavaScript you put it in a .js file, point a HTML page at it, and that's it.

TypeScript uses a ton more than that, which would impact the amount of energy usage too, not to mention everything running the package registries and what not. Not sure if this is why the difference is bigger, as I haven't read the paper myself :)

But if you do, please do share what you find out about their methodology.