WinterJS - A New Javascript Runtime
Вставка
- Опубліковано 14 бер 2024
- Recorded live on twitch, GET IN
/ theprimeagen
Become a backend engineer. Its my favorite site
boot.dev/?promo=PRIMEYT
This is also the best way to support me is to support yourself becoming a better backend engineer.
Article link: wasmer.io/posts/winterjs-v1
By: Arshia Ghafoori
MY MAIN YT CHANNEL: Has well edited engineering videos
/ theprimeagen
Discord
/ discord
Have something for me to read or react to?: / theprimeagenreact
Kinesis Advantage 360: bit.ly/Prime-Kinesis
Hey I am sponsored by Turso, an edge database. I think they are pretty neet. Give them a try for free and if you want you can get a decent amount off (the free tier is the best (better than planetscale or any other))
turso.tech/deeznuts - Наука та технологія
SummerJS is just around the corner
Just after SpringJS
@@lhard123lyes because we need to port it from Java
@@azizsafudin 💀💀💀💀💀
Lets not forget about AutumnJS
Then we will get SeasonsJS
at this rate js runtimes will outpace new AI models.
I was gonna say they will outpace new js frameworks, but maybe that goes a little too far.
@@nekekaminger Frameworks are at 10x release speed
@@justpatrick_ai will create the frameworks
Seems like there's a Moore's Law for Javascript frameworks and runtimes.
I don't know why isn't anyone basically just compiling Typescript to C# or Rust or something faster at this point instead of compiling to Javascript and running in a dynamic runtime. (yes, I say compiling, `transpiling` is bullshit, its not even a word)
"Hardware is 100 times faster, which let me write programs that are 100 folds slower." - Modern Web Developers
Ahaha, soooo true 😂
Read it in Jonathan Blow's voice
Yes because game devs doesn't write unoptimized games nowadays.
Why are we still benchmarking "no-op" HTTP servers? There should be higher standards for what we consider acceptable benchmarks.
Blazingly has lost all meaning
Blazingly should mean "puts your processor in fire"
What no-op means ?
@@_danissonno-op = no operation. I.e.: do nothing and move on
@@_danisson no operation
basically doing nothing
Let's face it. Developing a new JS framework has become the minimum requirement for an internship application at a startup that will last as long as the initial vc funding will take it.
Anything less can be done by Devin 😅
lol
A Year out of school for me and I still can't get my first tech job.
@@Doomlovesearth2is it that bad?
@@justhit6673 Yep.
JS runtimes are the new to-do apps
While I was watching this video, 2 new runtimes, 8 new frontend frameworks, and approx 1 billion js libraries were released.
So is just those 3 big thing again:
1. Google V8 for node
2. Apple JSC for bun
3. Mozilla SpiderMonkey for WinterJS
I'm here for Mozilla...
@@LucasBonafe Which one is better nowadays?
AFAIK V8 does memory great, SpiderMonkey is so-so, JSC is known to be the slowest before iOS 17.
"blazing-fast" made my day
"Blazingly fast" is the new "making the world a better place"
when you just started to learn rust and need a motivation to proceed. xD i'm also a beginner BTW lol.
how fast is a blaze anyway.
Days since last JavaScript tool: -9000
0 programmers were scolded by their chief
But then another one was gone, their number was FF
Was just reading this article, and wished I had your input and boom! Here it is, thanks
Hey, I'm currently watching this video but I right away wanted to comment that your diagram and explanation on runtime and framework was probably the clearest I've come across yet. Thank you for this... helpful for me navigating this stuff
That lightning reminds me of something else :P
"WINAMP Winamp winamp. It really whips the lamma's ass"
Based-ass comment
Love it when he tells his editor to do something and he doesn't listen XD
I noticed this in another video as well, looks like he's slacking off :D
@@kyle8575 there are multiple very clear jumpcuts in that part of the video so it's definitely them acknowledging it and choosing to ignore it rather than just being lazy lol
@@imaadhaq540 In that case, I stand corrected. Going to delete my original comment as I don't want to spread misinformation.
I like the format of trying to explain things using the whiteboard
"ahem" technically it's a blackboard.
What’s with the all the racism guys? It’s just a board.
Person of color board
@@coldestbeerSo... not-white-person board?
Who needs excalidraw
Only trust benchmarks where you can run it yourself on your own machine and see the numbers
Wait a second, you had Spider Monkey right next to Tokio and we didn't even get a TOKIOOO? What have you become, Prime? I love Go as much as the next dev, but let's not forget where we came from.
I love how the thumbnail is Prime looking towards the future but as soon as you click he's shaking his head and already upset. Classic Prime 😂
Every js framework: Speed
Reality: Slow + 70gb RAM per button.
Native languages: look what they need to mimic a fraction of our power
Lol “Fastest” and “SpiderMonkey” are words that have no business being in the same sentence as each other
To be fair, most of the speed are host questions, not scripting engine questions.
"SpiderMonkey is not the Fastest JavaScript engine."
@@tjmnkrajyej know what? Touché.
I love it when there's something new in JS, it's always advertised as fastest or faster
can't wait to see what runtime comes out next month
I love that you paying attention to details. Asterisk ✳️ I was not aware of this 😅
I wrote an HTTP server in C++ using Drogon. It was ridiculously fast when serving pre-rendered pages, going up to a million req/s, easily beating Go doing the same. However, as soon as I started doing a bit of templating using various existing and naive JSON-in-the-middle approaches this dropped way down, sometimes to under 100k req/s. I then spent a bunch of time writing an inline templating engine based on libfmt that was able to go close to 700k req/s on a real workload.
Oh, and by the way, the server in question was only ever intended to serve a single lone user at a time on a closed network, so that time spent turbo optimizing the hell out of it was suuuper worthy.
Dude JSON makes everything slower. I use Rust/Axum and just switching from JSON to MsgPack gave 10-100 times speedup depending on message size.
I appreciate that the benchmark Bun uses for its built-in builder is Three.js, which is a fairly large project. It's at least a real benchmark.
In a way though, their hand was forced on that front, because they were just copying the benchmark that esbuild was using, since they wanted to demonstrate that bun was faster than esbuild.
2019: fastest thing in the world was release of a new JavaScript framework
2024: scratch that fastest thing in the world is release of a new js runtime environment
are we still making JavaScript runtimes? haven't we learned anything?
clearly not, why do u think we keep making more electron garbage and offsetting any advancement in CPU tech by making our programs more bloated with 408349 layers of abstraction?
nope, we're wasting time making "flashy" new runtimes in "flashy" new languages using js engines that *aren't* v8 (💀) and not contributing to node.js... these runtimes are gonna go nowhere lmao
because they only know JavaScript
@@FlanPoirotit’s not even abstraction. Just garbage.
@@32gigs96It's both. The JS way of doing things is framework on top of framework on top of an already slow, heavily abstracted language
I fully enjoyed* this video.
I really look forward to the day I understand all the code stuff you talk about easily.
So we're spamming runtimes now? Javascript is truly one of the languages of all time.
great topic, thanks 👍
If only people invested all this effort into something that makes sense, unlike JS on backend (or anywhere else, really)... For some reason, re-lipsticking the pig seems to be the preferred modus operandi of our industry.
Then... invested the effort somewhere else yourself? Such a weird take, let the people build the stuff they want.
Maybe don't yell at water for flowing and instead get a hose?
I started ingoring newJS Runtimes and Frameworks. For my needs, I can still use NodeJS and get everything done. :)
new frameworks - > new runtimes - > new specific computing hardwares
I always make applications that only serve "Hello World" responses so this fits my one use-case!
thanks for hands-on test/duel between go and bun
Can’t resist, I’m gonna day it. ‘Blazingly fast’
JavaScript is unhinged
I love your prime time
LOOK WHAT THEY NEED TO DO TO MIMIC A FRACTION OF C++'S POWER
I was gonna say something about "haha javascript runtimes are the new javascript frameworks" but then I saw its made by wasmer and I went like 🥰🥰
Your statement isn't incorrect and I don't get why Wasmer doing it is better
Time to update my project to use the new runtime. This will fix all my problems
Lua got mentioned! 🇧🇷
Love this guy, bro😂😂😂😂
Presumably by "executed natively," they mean when WinterJS is compiled to x86-64 (or some other native instruction set) versus it being compiled to WASM to run inside of a browser-like application.
They're not taking about the JavaScript code itself.
bro my brain can't handle this anymore, that fact that I just started installing bun hours ago 💀
Can't wait for SummerJS, MonsoonJS, SpringJS, FallJS
Winter is coming
Absolutely here for the Mario Kart reference! ⚡️
Oh God, they're writing whole new JS runtimes now! Dx
Spidermonkey best name ever
The Winter is coming ❄️
Goood video, although, lets check if there is something new already out maybe 😅
XNA... That was a shoutout I was not expecting!
when do we get a package manager and registry for runtimes?
"...because at the end of the day, you're still running JavaScript."🏆
uses gimp like a pro
i bet he can make a circle in 2 steps
Real men draw circles freehand.
I draw circles using the html canvas API
WinterJS? Sounds cool!
We want NUMBER GO BIG!
Sale a new JS runtime to a group that is using VSC (roughly mid 2016), NodeJS before 14, Angular 11, and will not give their devs "ng" command access.
For those that do not know what is "ng", it is sort of like "npx" but specifically for Angular builds. To get those commands to work you have to put those "ng" commands into package.json
Days since new js runtime: 0
Cant we create a compiler that compiles js code to machine code that is optimised and all the good stuff that will make js a good option for the server?
Just use another language lol
@@theropoy9371 yeah i currently do my backend codes with spring boot.....but is it possible in js thats the question
@@theropoy9371 bravo problem solved🤦🤦
@@Vinu-kj6qgit’s literally v8. V8 does this. It’s a JIT compiler
JS is not a static language, so, no, it can't be optimized.
Someone seeing 17 standards "we need one universal standard!"
2 months later
"There are now 43 standards, maybe we need one standard"
Last few days i successfully compiles Boa (JS runtime in Rust) to pure WASM, no WASI, no bindgen. So i guess that's a plus.
LOL took me a while to notice it was your Pixel that was getting notifications and not mine.
WinterJs Is Coming
the new js framework everyday became the new js runtime everyday
* != valid
I’ll just close my eyes for 1 year and let all these frameworks battle it out
Finally I'm able to start my wasmedging streak
Idea: take Primeagens "whiteboard" character drawings and turn it into a font.
Then use that font while coding. In VSCode
From the creators of “yet another JS framework”…
YET ANOTHER JS RUNTIME :D
We've switched from constant releases of new JS frameworks to full JS runtimes. What's next?
About fucking time for a new JS something
HAHAHAHA
Can't believe Theo did "TOKIOOOOOOOO" and Prime didn't Sadge
I agree to prime take on benchmarks.
They are multiplying like Bacteria
Before we find out that it was written by Devin 😂😂
"Hey flip edit this...." Flip does not edit and we watch prime awkwardly mumble to himself setting up a new project 🤣🤣
I am thinking about writing a rollup alternative in zig
So, it doesn't matter with simple workloads, but how handles your use cases?
Shoutout to all of the Super Mario Kart enthusiasts, for those who are actually aware of its existence
The only thing that would shake the JS runtime space is a compiler with 2-3x performance. Sticking with standard JIT Javascript is just going to be slow regardless.
It wont take long before there are more JavaScript runtimes than C compilers.
December.js Jaunary.js February.js and so on.
like seriously, if i were to done my projects and building portfolio at the same rate as JS making another framework i will probably rich enough i'll retire in my 20, having my own yatch, and living on a mansion rather than thinking of hopping jobs and risking myself of early heart attack.
Its so nice that Nikola Tesla explains us computer science.
Would be great to have a tutorial on how to build a winterjs Dockerimage
when will we get a Rust powered JS runtime?
When you shout you sound like Michael Scott from the Office
Me: loves scheme
The world: Nobody develops serious software in Scheme. There are too many implementations and they all work differently.
JavaScript: has Node, Deno, Bun, WinterJS, all the different subtly incompatible browser runtimes, QML, GNOME...
The world: 😍
But deep down you do care, I bet we will see a todo application in 3 hours time testing wasmer against all frameworks. We are with you Primetime.
The speed shouldn't be their selling point, but having a wasmer runtime is actually really dope. Wasm will slowly take over. It's already being added to k8s as a runnable type because it solves a lot of the problems that docker does, but lighter and static with basically no cold start times
"Don't have all of this" lol
I'm telling you, soon someone will come up with a "runtime manager"
they released new JS framework like every nanosecond
Bun is good but I don't feel sure about using a for profit company as a runtime when theres node + pnpm . (atleast currently , and I am leaning towards golang)
Waiting for spring.js or fall.js
Guess I'm sticking with node until we get the over 20+ new runtimes and one of them actually ends up being useful
3 cores will be slower than a single thread cuz of the caches if the cores share any state