`seq 1000 | xargs -n1 ./t`, wheret is a statically compiled "return 0;", takes ~0.3s. Which is about 8 times higher than in https://t.co/SrYylbqmij ; flame graph: https://t.co/rqb5Qf37LK ; most time spent in 'ret_from_fork". Any insights why? cc @josh_triplett
@josh_triplett Btw, as lwn readers (including myself) ask, is there any update w.r.t. io_uring_spawn and linux mainline? grep in kernel sources and in lkml did not reveal much.
@josh_triplett It does help! Looking at the code (and now it's obvious from the LWN article) that this is measuring the time of fork/exec, not fork/exec+wait-until-close. My observed overhead is from, now obviously, cleanup of the fork.
I feel OpenAI role in 2023 is like Docker in 2013: make a niche accessible to the masses. My prediction: in 5 years OSS alternatives will take over and we will thank OpenAI for the publicity, but they will largely be irrelevant.
With all the respect to Sam Altman and his team.
@jedisct1 AFAIK there is still no way to configure nginx to serve a TLS cert per domain, so nginx would serve a cert for a *single* domain depending on the SNI request.
Because of this I moved from nginx to my own http server (based on Go) and then to Caddy — not looking back.
@sskras@rsms `zig cc` linker itself supports down to glibc 2.0 (from 1999!). hermetic_cc_toolchain exposes down to 2.17 (2012). I never found a need to test lower than 2.17.
The lowest practical I would go down to is 2.3.2 (2003), most of the programs I've seen depend on this version.
Post of the decade for C toolchain devs (2020): https://t.co/xlkHUxdpv7: Uber is now using "zig cc" to compile most of its C/C++ code in production. Official blog post will come soon — hoping it will help other companies understand the value, adopt it, and make their lives easier
Eager to explore arm64 on servers, but stuck on an infrastructure that assumes one architecture? That’s where Uber was 18 months ago. In this blog post we explain how we bootstrapped arm64 infrastructure using a relatively new toolchain in town: zig cc.
https://t.co/1C2eRMjJ1s
Eager to explore arm64 on servers, but stuck on an infrastructure that assumes one architecture? That’s where Uber was 18 months ago. In this blog post we explain how we bootstrapped arm64 infrastructure using a relatively new toolchain in town: zig cc.
https://t.co/1C2eRMjJ1s
@zack_overflow Your "zig ergonomics" example can be made even more ergonomic. Instead of
var ptr: [*]u8 = @ptrCast([*]u8, &slice[0])
do
var ptr: [*]u8 = slice.ptr
However, you need to remove `const` on type 3 for it to compile in the first place. :)
https://t.co/IcdAuuPPj8 is now live! It started as a prototype by @ajbouh , which I later forked to my personal repo and worked on for ~1.5 years. And now it is on the critical path for Uber's compiler infrastructure and maintained as such.
@sluongng Looks like you mean bazel-zig-cc sysroots. We explicitly decided to not do it and declare *all* dependencies explicitly. Painful at times, but was worth it. 1/2