Re: Popcount optimization using AVX512
От | Alvaro Herrera |
---|---|
Тема | Re: Popcount optimization using AVX512 |
Дата | |
Msg-id | 202404021734.635tuluozzn3@alvherre.pgsql обсуждение исходный текст |
Ответ на | Re: Popcount optimization using AVX512 (Nathan Bossart <nathandbossart@gmail.com>) |
Ответы |
Re: Popcount optimization using AVX512
|
Список | pgsql-hackers |
On 2024-Apr-02, Nathan Bossart wrote: > Another idea I had is to turn pg_popcount() into a macro that just uses the > pg_number_of_ones array when called for few bytes: > > static inline uint64 > pg_popcount_inline(const char *buf, int bytes) > { > uint64 popcnt = 0; > > while (bytes--) > popcnt += pg_number_of_ones[(unsigned char) *buf++]; > > return popcnt; > } > > #define pg_popcount(buf, bytes) \ > ((bytes < 64) ? \ > pg_popcount_inline(buf, bytes) : \ > pg_popcount_optimized(buf, bytes)) > > But again, I'm not sure this is really worth it for the current use-cases. Eh, that seems simple enough, and then you can forget about that case. -- Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/ "No hay hombre que no aspire a la plenitud, es decir, la suma de experiencias de que un hombre es capaz"
В списке pgsql-hackers по дате отправления: