On 30 December 2017 at 06:44, Otto Moerbeek <o...@drijf.net> wrote: > On Sat, Dec 30, 2017 at 06:53:44AM +0000, kshe wrote: > >> Hi, >> >> Looking at this diff and the previous one, I found some more possible >> cleanups for malloc.c (the patch below is to be applied after both of >> them, even if the second one has not been committed yet): >> >> 1. In malloc_bytes(), use ffs(3) instead of manual loops, which on many >> architectures boils down to merely one or two instructions (for example, >> see src/lib/libc/arch/amd64/string/ffs.S). > > I remember doing some measurements using ffs a long time ago, and it > turned out that is was slower in some cases. Likely due to the > function call overhead or maybe a non-optimal implementation. So I'm > only willing to consider this after seeing benchmarks on a handfull of > architectures.
There's __builtin_ffs but Clang / GCC might not be smart enough to use it for ffs(3) automatically.