Comment by π§ the_mantelman
Re: "Decided to make this subspace for the Odin Programmingβ¦"
Him. What is your experience with regards to binary size or static linking?
2025-05-27 Β· 11 months ago
1 Later Comment
π clseibold [OP/mod, π] Β· 2025-05-27 at 14:09:
@the_mantelman Odin has a very small "runtime" that has no GC or other fancy stuff (no builtin coroutines or closures), and it uses llvm in the backend, so the binary size should, afaik, be comparable to something like clang, and also comparable to zig.
The "runtime" is really just a set of builtin functions and types that are integral to both the compiler and language. It's all included in the "base:runtime" package.
The only other major runtime thing is the context, which is this struct that gets passed to all Odin functions by default, and it stores some info like the default allocator to use, etc. It's explained better in the Odin Overview.
The more parametric polymorph functions you use, though, the bigger your binary size (since the compiler duplicates the function for each distinct parameter typings that are used), so be aware of that. It shouldn't increase it *that* much more though unless you're using a crazy amount of them, afaik.
I have no experience in static linking with Odin. I'm sure there's a way to do it, though, I just wouldn't know what that is. Sorry I can't be more help on that.
Original Post
Decided to make this subspace for the Odin Programming Language, in case anybody wants to discuss it. Odin is a systems programming language influenced by C, Pascal, and Golang, with an emphasis on manual memory management via allocators, and zero automatic-allocation by the language features (with only exception being map literals, which must be toggled on). Some of my personal favorite features are the following: Strings are defined as u8 slices (a pointer and a length), and for loops...
π¬ 3 comments Β· 4 likes Β· 2025-05-20 Β· 1 year ago Β· π