@innuendo_pibara@sudox7 Sometimes the difference in precision does matter in specific areas of the codebase... In that case it wouldn't be smart to use global compiler flags
I highly recommend using pigz (parallel implementation of gzip) when you're making big tarballs. It's saved me a lot of time.
tar -c --use-compress-program=pigz -f data.tar.gz data
@geilokowsk14194@solisvogel@caninefaggot@LAK132 Yeah genuinely nothing but respect for Dustin Kirkland. He's made some great software. Maintaining a projects 16 is no small feat and he's earned the right to do whatever he wants with it (also it's FOSS). Although I personally don't like vibecoding.
img 1: Logic needed to optimally leverage constexpr
img 2: idea for a macro. Macro recursion sucks. PPC has limited tools.
img 3,4: Final solution: using callbacks instead. Much less painful.
I understand why Zig, Rust, etc. exist, C/C++ macros are super painful but necessary
But what matters is the result, which is exactly what I wanted:
- The tags array is put in static memory in the correct order
- The replacements array gets constructed in-place, in-order
This utility has existed since 2009. I've been using it for over 10 years.
Why add 18k lines of code effectively overnight?
Even if it weren't AI generated, this is very questionable.
@LAK132 The optimization leverages the fact that the keys are known at compile-time and thus we can construct the runtime values array at in-order.
I could use same technique to have it return a std::flat_map<std::span, std::array>
@LAK132 It's a primitive template engine that replaces all {{keys}} with corresponding values in a string.
It does this using 2 arrays:
1. static constexpr sorted array of keys
2. runtime values that should replace corresponding keys
https://t.co/D7novtwHkH
But what matters is the result, which is exactly what I wanted:
- The tags array is put in static memory in the correct order
- The replacements array gets constructed in-place, in-order