You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- The reference implementation uses LLVM as a backend for state of the art optimizations.
62
-
- What other projects call "Link Time Optimization" Zig does automatically.
63
-
- For native targets, advanced CPU features are enabled (-march=native), thanks to the fact that [Cross-compiling is a first-class use case](#cross-compiling-is-a-first-class-use-case).
64
-
- Carefully chosen undefined behavior. For example, in Zig both signed and unsigned integers have undefined behavior on overflow, contrasted to only signed integers in C. This [facilitates optimizations that are not available in C](https://godbolt.org/z/n_nLEU).
61
+
- All Zig code lives in one compilation unit, optimized together.
62
+
- Carefully chosen illegal behavior. For example, in Zig both signed and unsigned integers have illegal behavior on overflow, contrasted to only signed integers in C. This [facilitates optimizations that are not available in C](https://godbolt.org/z/n_nLEU).
65
63
- Zig directly exposes a [SIMD vector type](https://ziglang.org/documentation/master/#Vectors), making it easy to write portable vectorized code.
64
+
- The standard library provides essential data structures such as hash maps and array lists, whereas in C it is tempting to use linked lists for simplicity.
65
+
- Advanced CPU features are enabled by default, unless [cross-compiling](#cross-compiling-is-a-first-class-use-case).
66
66
67
67
Please note that Zig is not a fully safe language. For those interested in following Zig's safety story, subscribe to these issues:
0 commit comments