Det nye JavaScript-kjøremiljøet Bun har nærmest blitt lovpriset av utviklere verden over etter at versjon 1.0 ble lansert forrige uke:
Derfor snakker alle plutselig om Bun
Men nå som utviklere har fått begynt å teste det ut litt grundigere, kommer også kritikken.
– Det er en masse Node.js-kompatibilitetsproblemer. Det er ganske nytt, og har bugs.
Det sier utvikleren "Strager" i en YouTube-video som har fått en del oppmerksomhet de siste par dagene:
I den 18 minutter lange videoen, som har tittelen "Do not use Bun", går Strager gjennom en rekke ytelsestester han har gjort med Bun. Og han er langtfra fornøyd.
Mange av testene hans viser nemlig at Bun ofte er vesentlig tregere enn Node.js, i tillegg til at ikke alt fungerer som det skal.
Portet egen applikasjon til Bun
– I motsetning til andre YouTubere har jeg ikke bare tenkt å lese bloggposten for deg. Jeg har portet min produksjons-applikasjon til å bruke Bun i stedet for Node.js, og gjort en masse ytelsesmålinger.
Det å porte applikasjonen til Bun var ganske enkelt, men Strager støtte på en masse problemer underveis. Og debugging var vanskeligere enn i Node.js, mener han. I tillegg viste ytelsesmålinger at Bun ofte ikke var spesielt raskt.
Strager viser en masse eksempler på at Bun er tregere enn Node.js på en del ting, for eksempel brukte Bun hele seks ganger så lang tid på å importere Apache-loggfiler i én av testene.
Ettersom dette var et lite prosjekt, testet Strager Bun også på et mye større prosjekt med rundt 50.000 kodelinjer. Også her var det mye problemer, dårlig ytelse og bugs, mener Strager.
Han sjekket også ytelsen til tester gjort med Nodes egen testrunner, i tillegg til Jasmine og Bun test. Og ifølge disse testene, var Nodes egen testrunner raskest og Bun tregest.
Mye bra – men uferdig
Alt er imidlertid ikke helsvart. Det Strager liker med Bun er at Bun har bedre API-er enn Node for en del ting, som for eksempel fil-I/O og HTTP-servere.
– Bun gjør det også bedre på "page reload"-benchmarken min, men bruker mye mer minne.
Strager prøvde en ren installasjon av et stort webside-prosjekt med både yarn og Bun, der han hadde både slettet node_modules og yarn- og Bun-cachene slik at alt måtte lastes ned og installeres.
Og her overbeviste Bun:
– Pakkeinstallasjon med "bun install" er definitivt mye raskere, sier Strager.
Men han konkluderer med at han vil fortsette å bruke Node.js.
«Pakkeinstallasjon med "bun install" er definitivt mye raskere.»
Bun-skaper: Har du koden?
Etter at videoen ble publisert, kom Bun-skaperen Jarred Sumner på banen.
– Kan du linke til koden? spør Sumner.
Det viser seg at benchmark-koden allerede var publisert under videoen.
Haven’t finished watching yet but
— Jarred Sumner (@jarredsumner) September 17, 2023
Would it be possible to DM me the code (or is there a link?) ? bun test results make no sense to me unless it’s an event loop bug where the test runner is just doing nothing. Also very curious about the sqlite results.
Sumner stiller spørsmålstegn ved noen av testene, og sier han gjerne vil gjøre noen egne tester for å finne ut hva som er galt.
– Jeg har aldri sett et tilfelle der en Node.js-testrunner kjører raskere enn Bun test.