Linking can be fast (if you cheat): Roc's Surgical Linker - Brendan Hansknecht

  Рет қаралды 4,415

Zig SHOWTIME

Zig SHOWTIME

Күн бұрын

Пікірлер: 13
@edgeeffect
@edgeeffect Ай бұрын
Just to put that 7MB "hello world" ELF file into some perspective. Back in the 1990s, I did an Windows-32 application to display an archaic equivalent of SVGs (so, y'know, quite a bit more than "hello world" but not a lot more) and it compiled to something like a 200K EXE... about 36 times smaller.
@thewhitefalcon8539
@thewhitefalcon8539 Ай бұрын
Metafiles I suppose
@UliTroyo
@UliTroyo Ай бұрын
Dang, that's clever! This is the insight I wanted into Roc platforms.
@UliTroyo
@UliTroyo Ай бұрын
And yeah, I second Loris, I hope you guys got lunch together.
@ZigSHOWTIME
@ZigSHOWTIME Ай бұрын
They did get lunch together!
@medbenbrahim3246
@medbenbrahim3246 Ай бұрын
Interesting talk. Maybe ELF isn't optimized for (Platform+App) pattern. Also the fact that most producers of ELF are compiled languages, and the linking time is a one-time cost makes it hard to convince for a new/modern format.
@VACatholic
@VACatholic Ай бұрын
That's just a horrible argument tbh. They're not "build once". They're "build once for end users". But for devs, they might be build dozens of times a day. The fact that this garbage is "good enough" is why we can't have nice things. People just like living in garbage.
@grafgrantula6100
@grafgrantula6100 Ай бұрын
Great talk, thanks Brendan! I seriously look forward to try out Roc for real when it is a bit more stable. I did try to get into Roc about a year ago with thoughts of maybe contributing to the standard library, but super slow and error prone Rust compiling and not being very Windows friendly (which is fair, but still, it's my primary platform) have turned me away from that. But all the goals of Roc sound extremely cool to me!
@diegoaugusto1561
@diegoaugusto1561 4 күн бұрын
you could try wsl for the specific applications that don't have great windows support
@NuclearFury8
@NuclearFury8 Ай бұрын
Is there no way to pre-link a static library into a single object for the platform? Similar to what you'd get if you concatenated all the source into one gigantic file and just compiled that.
@brendanhansknecht4650
@brendanhansknecht4650 Ай бұрын
A static library is just a pile of object files. You could merge all of those object files into one gigantic object file. That said until you start making the final executable, pulling in system dependencies, dynamic linking, and dealing with other complications, nothing gets concrete. So you really wouldn't have gained anything from the original static library. You still have tons of slow linking work to get done.
@NuclearFury8
@NuclearFury8 Ай бұрын
@@brendanhansknecht4650 You'd solve inter-linking between the objects, but I see... it really is annoying that you can't finalize linking to external libs using the existing compiler stack.
@brendanhansknecht4650
@brendanhansknecht4650 Ай бұрын
@@NuclearFury8 yeah, and a lot of relocation kinds can't be handled until you pick a final location in the output binary (which depends on headers and such). So many relocations won't actually get fully resolved. It is quite inconvenient.
Hybrid-Level Programming - Richard Feldman
51:26
Zig SHOWTIME
Рет қаралды 6 М.
CAN YOU DO THIS ?
00:23
STORROR
Рет қаралды 46 МЛН
Sigma baby, you've conquered soap! 😲😮‍💨 LeoNata family #shorts
00:37
When mom gets home, but you're in rollerblades.
00:40
Daniel LaBelle
Рет қаралды 126 МЛН
How can a jigsaw have two distinct solutions?
26:23
Stand-up Maths
Рет қаралды 532 М.
Microservices are Technical Debt
31:59
NeetCodeIO
Рет қаралды 597 М.
Nea: A webserver that never allocates - Folkert de Vries
37:49
Zig SHOWTIME
Рет қаралды 16 М.
CAN YOU DO THIS ?
00:23
STORROR
Рет қаралды 46 МЛН