Breno Rodrigues Guimarães
Breno Rodrigues Guimarães
This might be of interest: https://ninja-build.org/manual.html#ref_pool The usage example shows how to limit the number of parallel jobs when linking, because linkers themselves are already parallel (and memory hungry).
If we extract the more fundamental building block that creates the layout of the structure, and make that `constexpr`, it would be possible to implement a `std::tuple` without inheritance, and...
This would be a much better low level engine: https://godbolt.org/z/xfzq97nKK ``` auto foo() { int from[] = {1, 2, 3, 4, 5, 6}; auto r = mynew(with(5, from), with(10, 1.0f),...
Another implementation would be https://godbolt.org/z/nsMhd33ox . This seems to generate better code - using try/catch instead of destructors to ensure exception safety. a bit of cleanup comes to this: https://godbolt.org/z/6zosWdeqb
When you build the performance test it will run with the regular tests but no check is really being done. I usually manually run the binary to see the output....
You can see the fix in the link: > Fixed aliasing bugs. For example, the Standard permits v.emplace_back(v[0]), which we were mishandling at runtime, and v.push_back(v[0]), which we were guarding...
Perhaps this should be marked as low hanging fruit for the community to help out while you guys can spend time on more impactful matters.
Oh yes, of course. I just figured there might be ways to rework the code so these conversions do not happen or happen in such way the compiler doesn't complain....
> absl/strings/escaping.cc:67:32: warning: conversion to 'unsigned char' from 'char' may change the sign of the result [-Wsign-conversion] > assert(absl::ascii_isxdigit(c)); This one already has a static_cast on the following line (escaping.cc:68),...
This can't be the only library to suffer from this. I wonder what other people are doing. Boost seems to have a "numeric_cast" which is a static_cast with bound checking....