Go is blazingly faster than Zig?

preview_player
Показать описание
The super challenge of languages. Because you subbed i decided to add a couple extra languages.

### Twitch
Everything is built live on twitch

### Editor

### Links

#vim #programming #softwareengineering
Рекомендации по теме
Комментарии
Автор

These Blazingly Fast Videos have been fun to make. Should I keep going? Should we keep making more?

Also, we are SOOOO close to 100k subs, what should we do to celebrate?

ThePrimeagen
Автор

I now can't look at framework repos and not laugh when I see blazingly fast.

Tesserakt
Автор

You and Fireship are my favorite code content creators. Funny and thorough. Need more of this on YouTube.

striderstache
Автор

While I'm waiting for Elixir, it would be interesting to also explore these numbers on a multicore machine! (Both performance and developer ergonomics)

ShubhamRao
Автор

As a professional node developer I 100% agree, Node is not meant to be super fast and be used on the most crowded/critical endpoints of the application, it has more to do with fullstack's fairly new role in the industry.

In the old days companies had front-end and back-end teams that probably never met each other, they would have an internal documentation site with most of the information they needed and at the last steps of the waterfall chain the software it will run mostly fine, but we're talking months of development with no progress being seen by the no-code folks who control the money.

In current times the market demands software built faster and progressively, the "no-code folks" want to ensure the feasibility of the project as soon as possible, so we changed to agile methodologies and the fullstack role emerged

A developer capable of handling the 4 elements, front-end, back-end, database and whatever the client wants

and he has to do it fast, so changing between technologies might not be a good idea - I would say that's pretty stressful in the long therm and can lead to burnout,
to mitigate stress and bugs they use the same languages for back-end, front-end and DBmgnt

like any business in a free market if they require an specific an team is required for a "blazing fast" backend they will have it but those are very specific cases, 90% of services would not have a significant workload nor care for a 200ms response, and if they do they'll probably scale horizontally or distribute copies across the world.

that's the software reality:
development time is more important than performance time

DiegoVallejoDev
Автор

I'm looking forward to that Elixir video. I am really curious to see how it's performance stacks up against Go and Rust.
Also, If I recall, in that video you did with Theo regarding unit testing, both of you agreed that you shouldn't touch Elixir and I am curious as to why. I understand that both of you are really picky regarding languages and their type systems, but I feel that Elixir has ways around its dynamic types that in many ways are either similar to typescript, some ways a bit worse, and in some ways a bit better (pattern matching on specific values and types). And Elixir has certain tools such as elixir_ls and dialyzer that help as well to make error detection during development easier.

Voidstroyer
Автор

I came here with blazingly fast speed after the notification

marctse
Автор

Programming entertainment at its peak. Dude your videos are hilarious and super information packed at the same time

lallenfrancisl
Автор

Nice benchmark and amazing 11/10 mustache!
Dare you to do a benchmark using PHP 8 and Swoole

Pbertrand_dev
Автор

I don't know whether to be proud or ashamed that as soon as Prime showed the Go code, I immediately noticed it wasn't formatted with gofmt.

Eysvar
Автор

It is rare to find a video on YouTube that you do not have to watch at 1.5x.

galileo_rs
Автор

hey prime, what do you think about make a video benchmarking go versus java (using quarkus or springboot as it framework)?

caiofelix
Автор

Lock-free is like async/futures/promises. It tends to scale well horizontally (more threads and cores), but does worse per-core - especially if there is a lot of contention on the resource. The new thing is wait-free data structures that are not only lock-free, but also avoid long compare-and-swap loops.

moitoius
Автор

You had me at "Miku with a rocket launcher"

unowenwasholo
Автор

Nice analysis. I'm not a fan of Go. The syntax is weird (I think they worked too hard not to look like Java). However, ..., GOs benchmark would have looked better on a multicore CPU which is what most PC are running except maybe on small embedded systems. If I am not mistaken, GO (like Java) uses a tracing GC and this will usually run on a separate thread and if this thread can actually map to an actual separate core then you get your memory management running in parallel. That is why languages and/or runtimes that use something like a tracing GC are normally very good for high throughput software on appropriate hardware. Whereas things like Python, Swift, ... which use a reference counting based memory manager, or Rust, Zig and others where you manually manage your memory will (in common implementation) actually trace the heap and manage memory on the same thread that is executing your code (except for a thread to manage circular references in Python, Swift, ...).
On a single core, the tracing GC will still use an additional thread (at least one) but this will grab execution time from the single core and still involve context switching between the treads whereas Zig and Rust will not have this.
So ... if you love GO's syntax and your not running your software on a hand held calculator chip, you will get good productivity and good performance.

jsimonlarochelle
Автор

It's really mind boggling how people could think a pure interpreted language can be fast like a compiled one. The difference between them, what assembly and machine language are, these are literally among the first things you learn at university during a basic computer engineering course... How in the hell could someone think a language, like Javascript, which uses strings in switch-case statements can be "fast"?

andreagiorgi
Автор

This video's thumbnail (gopher licking bun with crazy eyes) is my current favorite developer meme. I can't help it, it's just so funny :D. Also wherever a tech community mentions "blazingly fast", that sound effect plays in my mind automatically lol

buraky
Автор

Another banger of a video prime, but a have a question, when the OG of backend languages Java will be tested against node to see which is the slowest language of them all?

PsychoKiller
Автор

What are your thoughts on the ergonomics of async Rust? Personally, for me it's bad enough to push me towards using Deno for most web-y things, but I would really like to go "all-in" on Rust.

soup-bud
Автор

Bro really went:
Zig 🏃💨
Go 🏃💨
Node 🤨

thebrowhodoesntlift