Use smaller shifts in an attempt to recover performance

This commit is contained in:
Peter Dimov
2022-11-24 00:29:16 +02:00
parent cf2a0ef303
commit e393021dd9

View File

@@ -690,11 +690,15 @@ struct pow2_size_policy
std::size_t used_bits_=n<=2?1:((std::size_t)(boost::core::bit_width(n-1)));
std::size_t unused_bits_=total_bits-used_bits_;
std::size_t const table[] = { 0, 2, 3, 2 };
std::size_t unused_hi_= unused_bits_ >= 3? table[ unused_bits_ % 4 ]: 0;
/*
std::size_t unused_hi_=
unused_bits_>=10?(unused_bits_%6)*2:
unused_bits_>=6?(unused_bits_%4)*2:
0;
*/
return (unused_hi_<<16)+(unused_bits_);
}