DO NOT USE BUN (bun install is good dough)

Ғылым және технология

00:00 Bun is here
00:31 porting to Bun
01:05 log import perf
02:40 MariaDB perf
03:21 reporting perf
03:50 bun install on dev
06:14 macOS disk usage
06:37 bun install on CI
07:19 porting the website
09:30 bun test
12:08 bun --watch
12:54 page load speed
14:32 CI builds
15:55 more testing
16:27 pros and cons of Bun
17:26 me and Bun
Benchmark code: github.com/quick-lint/bun-vs-...
(Analytics benchmarks use production data not present in the repo due to privacy concerns.)
Hardware used for benchmarks:
Linux dev machine: AMD Zen 3 5950X; Linux Mint 21.2; Linux 5.19.0-46-generic
Mac dev machine: Apple MacBook Pro M1 Max (2022)
VPS: Vultr; 1 Intel Haswell vCPU; Ubuntu 20.04; Linux 5.15.0-50-generic
Software used for benchmarks:
Node version v20.6.1
Yarn version 1.22.19
Bun version v1.0.1
Thumbnail artwork by Jennipuff
Bun logo copyright Codeblog Corp
Node.js logo copyright OpenJS Foundation nodejs.dev/en/about/branding/
Yarn logo copyright yarnpkg(?), Creative Commons Attribution 4.0 International (CC BY 4.0) license

Пікірлер: 513

  • @YandiBanyu
    @YandiBanyu8 ай бұрын

    Man, this right here is an example of quality content. You don't only show results but most importantly HOW you get those results. Testing methodologies are often omitted for simplicity but I believe it reduces content quality by a lot.

  • @enkiimuto1041

    @enkiimuto1041

    8 ай бұрын

    I never met this channel and the first 10 seconds made me subscribe.

  • @MaxCoplan

    @MaxCoplan

    8 ай бұрын

    imagine a KZread video with _error bars_???!

  • @Microphunktv-jb3kj

    @Microphunktv-jb3kj

    8 ай бұрын

    Jest isnt actually slower than Jasmine, considering how much more features you use ; ] Jest is a more modern and comprehensive testing framework than Jasmine. Jest includes features like snapshot testing, code coverage analysis, and parallel test execution, which are unavailable in Jasmine.

  • @strager_

    @strager_

    8 ай бұрын

    > Jest includes features like snapshot testing, code coverage analysis, and parallel test execution, which are unavailable in Jasmine. Even if you use none of those, Jest is slower. With Jest, you pay a cost for features you do not use.

  • @Yazan_Majdalawi

    @Yazan_Majdalawi

    8 ай бұрын

    I loved how he addressed the growing problem of lazy youtubers uploading themselves only reading the marketing announcements of new technologies.

  • @wernersmidt3298
    @wernersmidt32988 ай бұрын

    Your first merch could be a shirt: Bun --run doesn't run bun, but bun --bun run runs bun.

  • @AndersonPEM

    @AndersonPEM

    8 ай бұрын

    This... is just... BRILLIANT

  • @strager_

    @strager_

    8 ай бұрын

    I already have merch: strager.net/booty/

  • @shiftyjesusfish

    @shiftyjesusfish

    8 ай бұрын

    I thought I hadastroke reading this the 1st time. Brilliant lol

  • @Microphunktv-jb3kj

    @Microphunktv-jb3kj

    8 ай бұрын

    Buntime, Funtime :D

  • @kyguypi

    @kyguypi

    8 ай бұрын

    How many runs could bun --run run if --run ran bun --bun run?

  • @FederalPandas
    @FederalPandas8 ай бұрын

    Absolutely incredible video - there's been a lot of hype (and a small amount of skepticism) around bun; but this is the first "proper" comparison I've seen that goes beyond "hello world" Also loved the little "bun pun counter" at the bottom right

  • @jdubz8173
    @jdubz81738 ай бұрын

    For work related projects, I swapped in node just to see if it was going to be a smooth process. It was not. However, on a home project that doesn't have a client (yet) the server-side bun processing and testing has been phenomenal, imo. Makes me hope Bun continues improving for sure.

  • @MondeSineke
    @MondeSineke8 ай бұрын

    This is the guy you need in every team. Sometimes, we get excited about new tools until we dug ourselves into a hole.

  • @circusfreakRob
    @circusfreakRob8 ай бұрын

    "Bun run doesn't run bun, but bun --bun run runs bun" is gonna be stuck in my head all day now. Great video. Appreciate the detailed comparison. Alleviates my Bun FOMO for the time being.

  • @breytonpabst1009
    @breytonpabst10098 ай бұрын

    Really quality video here, I feel like you are amazing at showing how different frameworks and tools compare in an actual production environment rather than just one that was built simply for the benchmark. This is only Bun 1.0 so there is a good chance a lot of things improve over the next few years, so I’d be interested to see a similar video a few years down the line seeing if bun was able to pull off what it promised outside of its package manager.

  • @LKD70
    @LKD708 ай бұрын

    Great to see a more balanced perspective. i really like the direction of Bun, especially it's APIs. Will certainly play a bit with it and keep an eye on its hopeful progress

  • @CielMC
    @CielMC8 ай бұрын

    I would say bun is definitely promising, iterative design can get you far, though sometimes you just need to start over for big optimizations. It definitely needs more polish and battle testing, but I think the direction is good, it's a little overhyped rn.

  • @user-fr2fm3ri3w

    @user-fr2fm3ri3w

    8 ай бұрын

    The concept is good , they literally tried to purge as much js from the code base and replace it with zig without killing the ecosystem and surprisingly it works very well for how new this is. Remember how much of a pain ts was to set up when it was new? In comparison bun is more polished but still has a long way to go.

  • @andrewdunbar828

    @andrewdunbar828

    8 ай бұрын

    I agree with everything you say except that I find it to be hyped just the right amount. Hype exposure is relative to what we look at too I suppose.

  • @CielMC

    @CielMC

    8 ай бұрын

    @@andrewdunbar828 Yeah I see what you mean, I'm personally seeing a bit too much sentiment to rush it into prod because free performance, but that's kinda the blind "is googer" mentality that comes with any new technology I guess

  • @quinn479
    @quinn4798 ай бұрын

    Appreciate the deep dive into this! You do a great job of covering the real issues that would unfortunately only surface in complicated builds.

  • @mcspud
    @mcspud8 ай бұрын

    Great video. Specific metrics like this add a lot to the quality, something you're one of the few to do it. Also, "bun bun run runs bun" is the great piece of alliteration you've produced.

  • @ssmith5048
    @ssmith50488 ай бұрын

    Great video! Really a great job on this - like your perfect hash tag vid, the time flew by while watching this. The bun pun counter was a nice as well! Still the best video on bun to date imo.

  • @n.fejzic
    @n.fejzic8 ай бұрын

    Awesome video! Thank you for measuring stuff and not just reading reports made by others!

  • @elcontrastador
    @elcontrastador8 ай бұрын

    Nicely done. I did some testing too and found similar results. I think what made me put bun back in the oven was when I was getting partial results with no errors or warnings. I just happen to notice some data missing, and then ran with node and the data was there. I would've been fine if I had an error thrown, but I don't have time for silent errors. I'll check back in on Bun 2.0.0

  • @Wepper1
    @Wepper17 ай бұрын

    This video is a good reminder that as professionals, we can't take marketing at face value and we should conduct rigorous tests and benchmarks to make any real recommendations for new technologies. This video is excellent in demonstrating those values.

  • @Sebastian-hg3xc
    @Sebastian-hg3xc8 ай бұрын

    Thank you so much for doing the work for us. 🙂

  • @blehbleh9283
    @blehbleh92838 ай бұрын

    Would love to see a comparison with deno as well with all of these tests. Or releasing a test suite based on this

  • @strager_

    @strager_

    8 ай бұрын

    I hope no one builds a benchmark suite based on my crappy code! 😅

  • @ssmith5048

    @ssmith5048

    8 ай бұрын

    hmmm suspicious if this comment is not from emcee ; ) @@strager_

  • @vaisakhkm783

    @vaisakhkm783

    8 ай бұрын

    @@strager_ XD and when someone says this is crappy and try to implement themself only to end up more crappier... It works... that's what matters..

  • @turtleidiot3324
    @turtleidiot33248 ай бұрын

    Thank you for running some real world tests. I did ort of expect something like this since bun hit 1.0 literally a few days ago but i'm holding out and hoping that speeds and compatibility improve in the near future

  • @LukasSkywalker_
    @LukasSkywalker_8 ай бұрын

    Thanks for this video. I also tried Bun with some of my projects as well and I got a lot of incompatibility errors.

  • @godnyx117
    @godnyx1178 ай бұрын

    I'm only at the 2 minutes in the video and I cannot hold myself on already writing a comment. I would like to thank you for been a quality creator, which is something very rare in our days. Like you did say, most others just made a video after Bun's 1.0 announcement (which is very funny because before that, almost NOBODY big talked about bun but now suddenly, it got so much attention because it hit a milestone? Shows you how these people think...) and they just read the announcement. I did like that you put the effort to make real tests however because I follow Bun for a long time and while they claim to be faster (even "much" faster) than NodeJS, there are indeed a lot of case where they are much, much slower! Of course, I like the effort behind Bun. These type of projects where people try to replace the "industry standard" tools and make better ones are great, I am making one myself. The problem is that when promises that cannot be met are made and when people lie. In my opinion, Bun should change the whole "faster than NodeJS" to "lighter than NodeJS and an all-in-one tool"! Once Bun matures enough where it's more stable, supports every major API and it beats Node in EVERY test, it can go back to that "faster than NodeJS" motto! Until then, trying to get focus to your project by lying isn't a good idea and it will only backfire at some point!

  • @GreatTaiwan

    @GreatTaiwan

    8 ай бұрын

    to be fair prime did many benchmarks with bun before, fireship did a video back in the day about it like a year ago if not mistaken. however of course official release for something highly anticipated will get a lot of views hence many creators will make videos about it

  • @strager_

    @strager_

    8 ай бұрын

    > before [Bun 1.0], almost NOBODY big talked about bun Both ThePrimeagen and Theo made videos about Bun many months before 1.0. ThePrimeagen: kzread.info/dash/bejne/o3WNqMepgpetk6g.html Theo: kzread.info/dash/bejne/hKRp29iwiJrVoqg.html

  • @AV_YOUTUBE_202X
    @AV_YOUTUBE_202X8 ай бұрын

    Thank you for doing this review. I’ve been working in Node for a dozen years. Now I’m deciding whether to advance my stuff to Deno, or to Bun. Deno it is. A very informative review!!!

  • @trapfethen
    @trapfethen8 ай бұрын

    It appears that JSC (JavaScriptCore) has lackluster performance when it comes to RegEx. Notebly, several RegEx patterns cause JSC to fallback to interpreting and won't be JIT'ed. In addition, JSC appears to be slower for some JIT'ed RegEx as well, likely due to some transformations that V8 is doing that they are not. A bug report has been filed with WebKit about this and hopefully they will address it in time. If your use-case relies heavily on complex RegEx, I would definitely benchmark Node VS Bun to see which one is faster. Simple RegEX appear to be comparable between the two runtimes, but the separation between simple and complex RegEx is not at all clear.

  • @juanmacias5922
    @juanmacias59228 ай бұрын

    These were great benchmarks, thanks for sharing!

  • @mrvectorhc7348
    @mrvectorhc73488 ай бұрын

    thanks for this video, very useful to see some practicality to the Bun story

  • @bryantaylor8504
    @bryantaylor85048 ай бұрын

    What a great example of how to do an objective comparison of two technologies. It definitely feels like bun has some rough edges and is a little buggy. It has some potential, but I think you've convinced me to wait and look back in a few months.

  • @nzuzomal4545
    @nzuzomal45456 ай бұрын

    That was pretty good. You've clarified some bun weirdness I've experienced myself!

  • @_modiX
    @_modiX8 ай бұрын

    You're killing it once again. Good job! To my surprise, bun doesn't look so stable after all, I mean `bun --bun run`?

  • @xavhow
    @xavhow8 ай бұрын

    nice, real world benchmark. it seems Bun's node compatibility has a long way to go. great info!

  • @MrEnsiferum77

    @MrEnsiferum77

    8 ай бұрын

    that's not the point of bun...

  • @xavhow

    @xavhow

    8 ай бұрын

    @@MrEnsiferum77 this is actually important or else Bun has to start off its ecosystem from scratch.

  • @user-fr2fm3ri3w

    @user-fr2fm3ri3w

    8 ай бұрын

    @@xavhowahem demo 🥶

  • @xavhow

    @xavhow

    8 ай бұрын

    @@user-fr2fm3ri3w well, at least better than a lot of helloworlds out there.

  • @despareint

    @despareint

    8 ай бұрын

    that's the whole point of bun, we already have stubborn deno@@MrEnsiferum77

  • @orderandchaos_at_work
    @orderandchaos_at_work8 ай бұрын

    I found Bun flakey/broken in places too, glad to hear I'm not alone in running in to various bugs and issues with it. Looks like you had a lot more patience than I did haha, good work.

  • @VideoGameBoxReviews
    @VideoGameBoxReviews8 ай бұрын

    Thank you for all the work, very interesting, hope the bun devs take a look at this.

  • @JeremyChone
    @JeremyChone8 ай бұрын

    Great video. Thank you for this great real dev content.

  • @doovel
    @doovel8 ай бұрын

    Great to see someone actually go in-depth on the issues!

  • @itsbadrabbit716
    @itsbadrabbit7168 ай бұрын

    This is awesome, thanks for sharing, Strager!

  • @kelownatechkid
    @kelownatechkid8 ай бұрын

    Very entertaining presentation, and valuable real-world usage report! Kudos

  • @sammiewalker1020
    @sammiewalker10204 ай бұрын

    Wow ACTUAL testing?? You've got a subscriber.

  • @Saitanen
    @Saitanen3 ай бұрын

    Amazing real-world benchmarks! Thank you! Finally someone with actual practical use cases on KZread.

  • @nekekaminger
    @nekekaminger8 ай бұрын

    Great work! I'm sure your insights will be quite valuable for the bun developers.

  • @Kotfluegel
    @Kotfluegel8 ай бұрын

    The bun video I've been looking for. Thank you very much.

  • @AlbertCloete
    @AlbertCloete8 ай бұрын

    Quality content. I much prefer learning about people's real experiences using a tool, rather than the marketing videos and people talking about the marketing videos.

  • @MrEnsiferum77

    @MrEnsiferum77

    8 ай бұрын

    The problem is that, people jumpwagon on bun, not because they like it, but in 2023 JS still is crap about merging all important stuff all together... typescript, decorators, observables and linter... i'm asking for this four every single day... i don't like crap tooling with 20plus dependencies...

  • @ivanjermakov
    @ivanjermakov8 ай бұрын

    I agree that using Bun in prod is not a good idea. I haven't noticed much performance gain in actual runtime, but using it for running/testing TypeScript application is a charm, I can absolutely recommend it for local builds as a drop-in Node replacement.

  • @strager_

    @strager_

    8 ай бұрын

    Yeah, I imagine Bun's transpilation is better for TypeScript projects.

  • @follantic

    @follantic

    8 ай бұрын

    I found it useful for having esm in a simple executable ad hoc script. Having imports, commonjs and __dirname available out of the box is really nice. I think NodeJS should learn from that.

  • @jonton6981
    @jonton69818 ай бұрын

    Thank you for adding error bars in a benchmark comparison.

  • @cameronstroebel3333
    @cameronstroebel33338 ай бұрын

    Very informative, thank you for sharing!

  • @prhasn
    @prhasn8 ай бұрын

    Excellent breakdown. Thanks for sharing this.

  • @DevR00ts
    @DevR00ts8 ай бұрын

    Oh.. I just asked you a question on X about where/how you learned all of this, and here you are on youtube! I had no idea you were a content creator, but im glad I found you!

  • @strager_

    @strager_

    8 ай бұрын

    hi

  • @masmullin
    @masmullin8 ай бұрын

    Thanks for the real world analysis. I hope you follow up in a few months.

  • @calebhoff3506
    @calebhoff3506Ай бұрын

    i loved this video & would totally watch a node vs deno one

  • @thenwhoami
    @thenwhoami8 ай бұрын

    Really nice testing. I'm still excited for the promise of bun. Bun is IMO what Deno should have always been - focus heavily on node compatibility while coming batteries included to simplify the developer's life. I hope they keep going.

  • @MaxCoplan

    @MaxCoplan

    8 ай бұрын

    Maybe. The creator of Deno (and Node) said the whole point of Deno was to make what a server-side JS runtime always should have been. That means removing all the bullshit Node has. Adding backwards-compatibility would be antithetical to that vision. Of course, it turned out that developers don't care about it having better fundamentals from the ground up, and just wanted a better Node.js with TypeScript, fetch, sane module system, test framework, and other conveniences. They don't want to rewrite their projects to be "better". This is what Bun and for the most part newer Node.js does. No code rewriting required 👍🏻

  • @rand0mtv660

    @rand0mtv660

    8 ай бұрын

    @@MaxCoplan Yeah Deno team totally backtracked on that original idea and went hard into Node/NPM compatibility. They probably realized they won't get much market share without doing that.

  • @phoenix-tt

    @phoenix-tt

    8 ай бұрын

    ​@@rand0mtv660The only issue is that they didn't succeed in it. I tried using Deno in a pretty simple CLI application where I also needed to use npm packages and Puppeteer. From the build experience all the way to running it was not a pleasant trip. I switched to node+esbuild and got it running within minutes...

  • @Dacas5
    @Dacas58 ай бұрын

    what a great video, just what we needed with all of the bun hype!

  • @DeanHerbertMooCow
    @DeanHerbertMooCow7 ай бұрын

    really cool analysis, thanks strager

  • @SergioJWero
    @SergioJWero8 ай бұрын

    Incredible video, thank you

  • @ericlindell3777
    @ericlindell37778 ай бұрын

    Great down to earth video!

  • @toffeethedev
    @toffeethedev8 ай бұрын

    Very thorough!! Thanks so much for giving us real world stats

  • @casraf
    @casraf8 ай бұрын

    Absolutely nailed all the puns there good work Also yes I was skeptical of all their claims and now understandably so. But maybe this is something that will improve in the future as they make it more mature. Will be interesting to see if it rises from here

  • @RemotHuman
    @RemotHuman8 ай бұрын

    I like that it runs my typescript files without transpiling. It does thus better than the esrun package which is what I was using, esrun wasn't showing proper error traces

  • @pawan29121991
    @pawan291219917 ай бұрын

    thanks @strager . It is worth to evaluate ourselve at this level before we start adopting...

  • @xfreeman86
    @xfreeman868 ай бұрын

    "I'm not going to just read the blog post for you" My exact thought on the first Bun video that KZread recommended to me. Finally some value add.

  • @halo2bullseye922
    @halo2bullseye9225 ай бұрын

    Thanks for this!

  • @0netom
    @0netom8 ай бұрын

    The burp at the end was the perfect conclusion of this topic! That's exactly what happens after such a bun feast :)

  • @combinio9533
    @combinio95338 ай бұрын

    This is the video we didn't deserve. Thanks for sharing!

  • @EvgenyBobkin
    @EvgenyBobkin8 ай бұрын

    thank you, great insights, that must be very frustrating, like putting so much effort into migration to bun, just to find out that the app is so much slower when running on bun.

  • @strager_

    @strager_

    8 ай бұрын

    My plan was to make this video, so I accomplished my goal.

  • @strager_

    @strager_

    8 ай бұрын

    I think it's unfair to say that the app was slower with Bun. Some parts were slower and some parts were faster.

  • @thegrumpydeveloper
    @thegrumpydeveloper8 ай бұрын

    Awesome to see this. I’m surprised they announced this as production ready given. This type of stuff is better to wait till the kinks get worked out on test and fun projects before shipping to prod traffic to it.

  • @strager_

    @strager_

    8 ай бұрын

    Agreed. Let other people take the risks! xD

  • @MaxCoplan
    @MaxCoplan8 ай бұрын

    Great video! When's the Deno review coming out?

  • @strager_

    @strager_

    8 ай бұрын

    Tomorrow

  • @isaac8228
    @isaac82288 ай бұрын

    Cant wait for recruiters next year to look for bun jobs with 5 years of experience

  • @funnymemes2440
    @funnymemes24408 ай бұрын

    This is one of the best comparison videos. All the other videos never talked about the other side of bun. Thank you so much for this

  • @jarredsumner5983
    @jarredsumner59838 ай бұрын

    I haven’t seen a case where better-sqlite3 underperforms relative to bun:sqlite. Or where a Node.js test runner outperforms bun test. So I’d like to do some profiling and see what I learn. Our nodejs polyfills in general do not perform as well as the native implementations. Bun.serve() is a lot faster than node:http Note; at the time of writing I haven’t finished watching the video yet Edit: I see the code is linked in the description. I didn’t see it when I wrote this comment

  • @aykutakguen3498

    @aykutakguen3498

    8 ай бұрын

    Good to see the creator of bun immedietly working on things and making bun better

  • @rahulphoen

    @rahulphoen

    8 ай бұрын

    If bun is struggling - Jared and team will get it fixed. Very active, very focused on performance and very iterative

  • @gustavoviana5508

    @gustavoviana5508

    8 ай бұрын

    I was just about to send you this vid on twitter lol. Nice work

  • @jarredsumner5983

    @jarredsumner5983

    8 ай бұрын

    Small update: looks like the code is using lots of RegExp which is being interpreted instead of JIT’d. This is an area where Bun/JSC performs terribly right now. It’s something that needs to get fixed, but it won’t be easy.

  • @okage_

    @okage_

    8 ай бұрын

    @@jarredsumner5983 gl

  • @khashe
    @khashe8 ай бұрын

    I saw a tweet saying the Bun team has the same definition of stable as the Vercel team. That sums up my experience using Bun so far.

  • @ryangraham2969
    @ryangraham29698 ай бұрын

    I wonder if the bun v1 release was to get more eyes on it (and zig) so that development can move even faster. So far I'm getting a lot of value from bun for typescript workspaces (since it doesnt need to transpile to run). Previously I'd been using nx, which would piss me off on a regular basis with all the problems it has.

  • @adlex1212

    @adlex1212

    8 ай бұрын

    My theory is the vcs funding the company pushed for this release.

  • @VerhoevenSimon

    @VerhoevenSimon

    8 ай бұрын

    One not unimportant aspect is the VC behind Bun, and they likely wanted to see something already.

  • @ryangraham2969

    @ryangraham2969

    8 ай бұрын

    Yeah, VC influence makes a lot of sense here. Looking at the code/commits/issues that existed before a week ago, a 1.0 release seems completely inconsistent with how unstable the project is. It's the opposite of what rust devs would do. But in the grand scheme of things, it's probably better for them to release unstable code now. Since releases get people on the hype train, and could lead to contributions by large companies. So by version 4, it'll probably be production-ready.

  • @ItzAnameOk
    @ItzAnameOk8 ай бұрын

    Objective and to the point. Strager never fails to fill up my bun with his knowledge 😫😩😳

  • @Raynhardx
    @Raynhardx8 ай бұрын

    I wonder if every exception thrown in bun is slower (and some programs use exceptions for control flow, so you may never see an error as they are in a try/catch). But if bun transpiles every source for require/import compatibility and to digest typescript, it has to postprocess error stacktraces against the source maps to get proper line count reporting.

  • @strager_

    @strager_

    8 ай бұрын

    I imagine source map lookup only happens when you try to print a stacktrace, not when you throw or catch.

  • @boot-strapper
    @boot-strapper8 ай бұрын

    I've found bun to be extremely fast. But yes I did run into 1 issue where drizzle couldnt intropsect an existing database, luckily thats a one and done kinda thing, so I just used node for that and then bun to actually run the app. It feel liks im using go or something, its just so fast. I love it.

  • @MaxCoplan

    @MaxCoplan

    8 ай бұрын

    > It feel liks im using go or something, its just so fast. I love it. interesting. What part of it feels fast?

  • @strager_

    @strager_

    8 ай бұрын

    Bun's command is 3 characters. Node.js's is 4 characters: 33% slower!

  • @boot-strapper

    @boot-strapper

    8 ай бұрын

    @@MaxCoplan basically every command is instant.

  • @MaxCoplan

    @MaxCoplan

    8 ай бұрын

    @@boot-strapper oh, I see. So it's just placebo affect then.

  • @boot-strapper

    @boot-strapper

    8 ай бұрын

    @@MaxCoplan go use it. It’s faster, in every metric.

  • @ohyeah4194
    @ohyeah41948 ай бұрын

    thanks for the insight.

  • @nightrocks
    @nightrocks8 ай бұрын

    That burp, was nice.

  • @zeez7777
    @zeez77778 ай бұрын

    You're like one of the few devs that i actually trust on youtube. Others feel like youtubers first and developers last or something.

  • @diracspace5842

    @diracspace5842

    8 ай бұрын

    Yeah, I’m just discovering his channel and it seems exactly like that. Although I’d love for him to give a little better explanation regarding his issues. Overall I liked his video

  • @MaxCoplan

    @MaxCoplan

    8 ай бұрын

    don't trust anybody on the internet.

  • @zeez7777

    @zeez7777

    8 ай бұрын

    @@codingsafari It just feels like they used to be developers at some point then switched to youtube and follow every trend but they never really program/build anything anymore. Their credentials may justify that but it feels a bit weird to me. It just seems like they care more about grabbing any quick views. Barely anyone takes the time to touch stuff at anything deeper than surface level and spreads bunch of marketing bs like that.

  • @programmer-network

    @programmer-network

    8 ай бұрын

    @@zeez7777 As I always say to my viewers, colleagues and pretty much everyone: If you haven't used a specific technology in production, and faced the actual issues and benefits yourself, your opinion is useless. So yes, you are absolutely right. Content creators live of creating content. Majority don't code, they just watch other videos and replicate the same stuff in different words.

  • @vlc-cosplayer

    @vlc-cosplayer

    21 күн бұрын

    @@zeez7777 "It just seems like they care more about grabbing any quick views." It's a classic "tragedy of the commons" situation: one person starts acting in a selfish way, that's beneficial to them, but harmful to everyone else. Then, more and more people start acting in that selfish way, because short-term benefits are more appealing than long-term ones. Eventually, everyone is acting selfishly, and people wonder what happened, and why everything sucks now. Humans are still stuck at the "monke want many banana" stage, that's what happened. 💀

  • @plauclair
    @plauclair8 ай бұрын

    As someone who worked extensively on JSCore for a couple years, the tracing line issue is something that's been a thing for years. It's just not on the level of V8 based environments.

  • @memaimu
    @memaimu3 ай бұрын

    I love how this video immediately follows the Bun 1.0 release video.

  • @nobir98
    @nobir988 ай бұрын

    I really liked the video and ending 17:52 😂. Could you do Deno vs Node similar like this one?

  • @strager_

    @strager_

    8 ай бұрын

    I don't think there's enough interest in Deno vs Node.js. I also think that Deno excels in "soft" areas like editor integration, linting, formatting, benchmarking, etc. which aren't easily condensed into benchmark numbers.

  • @MichaelKubler-kublermdk
    @MichaelKubler-kublermdk7 ай бұрын

    Great work and now I know I don't need to rush into trying a Bun project. Maybe in a few years Bun will be better, but right now it seems OK and they've mostly cherry picked a bunch of things they've sped up. Although the packages aren't checked with the network, so you don't actually know if your packages are the latest version.

  • @strager_

    @strager_

    7 ай бұрын

    > Although the packages aren't checked with the network, so you don't actually know if your packages are the latest version. This is the case with Yarn as well in my application.

  • @ayushgogna9732
    @ayushgogna97328 ай бұрын

    this is interesting i would also try pnpm instead of yarn at this point i think that would be pretty close.

  • @strager_

    @strager_

    8 ай бұрын

    Based on other benchmarks I've seen, I doubt pnpm would be 'pretty close' to Bun's performance.

  • @Sockheadrps
    @Sockheadrps8 ай бұрын

    love it

  • @dhkatz_
    @dhkatz_8 ай бұрын

    Excellent video! However the title makes a bit sad. We should maybe not use Bun in production for everything yet, but we SHOULD use bun generally in order to point out issues like some of the ones you mentioned. Oven has already showed they are committed to make improvements in performance in any way they can. I don't doubt that with the proper issues reported they will fix everything they can

  • @strager_

    @strager_

    8 ай бұрын

    > we SHOULD use bun generally in order to point out issues like some of the ones you mentioned Most people should not use experimental technologies. Most people should be using established technologies to get work done.

  • @MadMathMike
    @MadMathMike8 ай бұрын

    15:22 I about died hearing this tongue twister! 😂

  • @strager_

    @strager_

    8 ай бұрын

    Bun?

  • @LaughingOrange
    @LaughingOrange8 ай бұрын

    I've heard that on MacOS copy-file creates a hard-link, so it actually doesn't copy the data on disk, only a pointer that doesn't allow the underlying data to be removed before the last pointer of that type is removed. That seems match what your results show.

  • @strager_

    @strager_

    8 ай бұрын

    A hardlink makes a directory entry which is identical to the original. If you modify the data of one of the files, the other file also changes because they are the *same* file. A copyfile'd file makes the two files independent, but they share data on disk *if the data remains the same*. If either copy changes, disk usage for that changed part doubles. (This is APFS's copy-on-write feature.)

  • @RicardoSansores
    @RicardoSansores8 ай бұрын

    Great video.🎉

  • @Diamonddrake
    @Diamonddrake8 ай бұрын

    I also tried bun with an existing medium sized project and had issues as some popular packages use private node apis that don’t exist in bun

  • @strager_

    @strager_

    8 ай бұрын

    I didn't mention this in the video, but my app used an undocumented API: http.Response#writeHeader. It was an easy fix though: call writeHead instead. What usage of private Node.js APIs did you run into?

  • @Diamonddrake

    @Diamonddrake

    8 ай бұрын

    @@strager_ the lib jsonpath uses module#_compile from node which was required by react-scrips from create-react-app that one of our 3 year old projects was bootstrapped with

  • @opensourcedev22
    @opensourcedev228 ай бұрын

    See Bun. See Bun run. See Bun --bun run . Oh , what fun👍

  • @daleryanaldover6545
    @daleryanaldover65458 ай бұрын

    I shall share this video for the rest of the world to see.

  • @json_bourne3812
    @json_bourne38128 ай бұрын

    I'm enjoying Bun for a NEW project, but switching an already-built application just hasn't felt worth my time for the small gain it would bring (especially compared to the time to switch)

  • @annaczgli2983
    @annaczgli29838 ай бұрын

    0:04 There. Right there. That is why I respect your content. Actual testing, & not lazy reaction content. Thank you 🙏

  • @WolfrostWasTaken
    @WolfrostWasTaken8 ай бұрын

    I think that Bun wants to be a "complete" solution to avoid using a lot of different dependencies. I tried to use it on a production project and ran into many issues as well.

  • @PapaVikingCodes
    @PapaVikingCodes8 ай бұрын

    TY!

  • @connorallen162
    @connorallen1628 ай бұрын

    @5:08 Bun accomplishes super fast no-op installs by cacheing some stuff and by skipping the the network check where it ensures with the NPM registry that your current versions are actually the latest. So this is an Apples to oranges comparison, Bun is missing a pretty important feature

  • @strager_

    @strager_

    8 ай бұрын

    > skipping the the network check Yarn does the same thing, right?

  • @connorallen162

    @connorallen162

    8 ай бұрын

    TBH I was just repeating what I heard in this video - kzread.info/dash/bejne/Y6yj25qKZdKep9Y.html&ab_channel=Theo-t3%E2%80%A4gg I'm not 100% sure the ins-and-outs of when and whether cached values are checked against the registry for npm and yarn but it sounds like Bun does less network checks @@strager_

  • @LeviElekes
    @LeviElekes2 ай бұрын

    Thanks 🙏

  • @sable2x
    @sable2x8 ай бұрын

    strager always has the best, in depth content. A shame about that comic-sans font he uses, I don't get how he does it LOL

  • @EvanBoldt
    @EvanBoldt8 ай бұрын

    Really seems like they went as far as possible to optimize for serverless architecture at every point. Minimizing cold start time, cutting package install time, handling simple http connections as fast as possible. Slow RegEx is reason enough for me not to use it yet.

  • @spicynoodle7419

    @spicynoodle7419

    8 ай бұрын

    Maybe you should write a proper parser instead of relying on regex for everything. Remember how Chrome 100 broke 99% of the web because everyone was parsing user-agents with regex?

  • @strager_

    @strager_

    8 ай бұрын

    If JavaScript's manual string processing didn't suck so much, maybe people wouldn't use RegExp as much! xD

  • @json_bourne3812

    @json_bourne3812

    8 ай бұрын

    When considering a large high-traffic application using serverless, it's very appealing indeed.

  • @phoenix-tt

    @phoenix-tt

    8 ай бұрын

    I am skeptical about serverless due to the amount of memory Bun allocated in one of the graphs shown. Memory consumption and GC is a big problem for js on servers. Had to spend a great chunk of time optimizing SSR on my previous job so that it won't run out of memory under load.

  • @davidmoll7250
    @davidmoll72507 ай бұрын

    I do wonder where the difference between your report on the speed of the sqlite-features and the one from bun are coming from. Why are theirs so fast while yours are slower than bettersqlite with Node?

  • @strager_

    @strager_

    7 ай бұрын

    I didn't debug that performance difference. Bun's profiler was broken (as I mentioned in the video) and I had a bunch of other things to investigate too.

  • @canepaper967
    @canepaper9678 ай бұрын

    I will continue using regular node unless I had a very good reason to switch to a different runtime for performance reasons. If it's not broken you shouldn't attempt to fix it. However I do think having more competition within the space of runtimes is good for the ecosystem as a whole, just like how improvements made in yarn were adopted in npm, competition is always a good thing.

  • @strager_

    @strager_

    8 ай бұрын

    > If it's not broken you shouldn't attempt to fix it. This is my mindset as well. 👍 > However I do think having more competition within the space of runtimes is good for the ecosystem as a whole ❤️ You and I are on the same wavelength.

  • @carloss3028
    @carloss30286 ай бұрын

    Good job 👍

  • @SoreBrain
    @SoreBrain8 ай бұрын

    Great content

  • @forivall
    @forivall8 ай бұрын

    I imagine that the readdir results in bun is returning the results in inode order. My cheap old 3d printer does the same sorting thing when listing files.

  • @DimitriMoreira
    @DimitriMoreira7 ай бұрын

    Skepticism is greatly needed at this time. I will say this however, how many times have you seen a 1.0 version of a program that works flawlessly? I can't remember when the last time I saw it or even if it did happen. So... let's remain skeptical but also hopeful and see how this turns out.

Келесі