They could have done the same in Zig, even though it probably shows cargo is better at this than build.zig.
251 karma · joined November 6, 2015
They could have done the same in Zig, even though it probably shows cargo is better at this than build.zig.
Seems like a big one! I wonder how it will impact real code performance
The PlayStore is full of crapware, and I'm using a lot of apps from Fdroid, including basics like keyboard and text.
If you're at Google try to push back on this please.
What's happening is that compiler knows the two errors come from disjoint error set, but it promotes them both to anyerror
Details at https://github.com/ziglang/zig/issues/25046
> many languages like C++ or Java are now old enough that if they would have > offered significant advantage over C, they should have supplanted C by now, > this clearly hasn’t happened.
I don't agree with all the points though and the rhetoric is pretty weak IMO, like the point about cars being safe for pedestrians.
But I agree with the points about C being simple and having great tooling (thanks to being simple).
And ZML the framework also resolve issues with the complex dependency graph of stablehlo/pjrt.
We are also looking ahead at Zig roadmap, and trying to anticipate upcoming breaking changes, and isolate our users from that.
Note that our focus is being platform agnostic, easy to deploy/integrate, good performance all-around, and ease of tweaking. We are using the same compiler than Jax, so our performances are on par. But generally we believe we can gain on overall "tok/s/$" by having shorter startup time, choosing the most efficient hardware available, and easily implementing new tricks like multi-token prediction.
Coming from Python, the hardest part is learning memory management. What helps with ZML is that the model code is mostly meta programming, so we can be a bit flexible there.
We have a high level API, that should feel familiar to Pytorch user (as myself), but improves in a few ways
I agree with the author that Zig should improve a bit the readability of integer and vector arithmetics.
Small tips is to use more lines.
fn addOffset(base: u16, off: u8) u16 {
const ibase: i16 = @bitcast(base);
const ioff: i8 = @bitcast(off);
return @bitCast(ibase +% ioff);
}In France it was down to less than 1% at the time of Revolution, but some countries like Spain that had centuries long wars, was closer to 6-8% range.
Now when you press "shift+7" on your keyboard it only sends "regular US keycode for /"
As a benefit you'll maybe also realize that Azerty or Qwertz are pretty bad layout for typing French/German, and you'll come up with something better.