Paweł Bylica
Paweł Bylica
Check performance with SLP vectorization disabled. It simplifies assembly a bit in some places.
It may be good for testing to have a release build with asserts enabled. However just unsetting `NDEBUG` macro globally makes the mdbx running very slowly. So we rather want...
In a release build with assertions enabled of silkworm: ``` silkworm: /home/ipsilon/silkworm/silkworm/sentry/discovery/disc_v4/ping/ping_check.cpp:111: silkworm::Task silkworm::sentry::discovery::disc_v4::ping::ping_check(silkworm::sentry::EccPublicKey, boost::asio::ip::udp::endpoint, silkworm::sentry::EnodeUrl, uint64_t, silkworm::sentry::discovery::disc_v4::ping::MessageSender&, boost::signals2::signal&, std::optional, size_t): Assertion `false' failed. ``` Location: https://github.com/erigontech/silkworm/blob/master/silkworm/sentry/discovery/disc_v4/ping/ping_check.cpp#L111
- Low level division procedure: https://github.com/piggypiggy/fp256/blob/master/src/ll/x64/ll_div-x64.pl.
https://godbolt.org/z/xEcGzqKo9 ```cpp unsigned bsr(unsigned m) { return 31 - __builtin_clz(m); } auto lt_avx(const u256& x, const u256& y) { auto xv = std::bit_cast(x); auto yv = std::bit_cast(y); auto e =...