On Sat, Jul 09, 2016 at 06:12:51PM +0200, Ingo Schwarze wrote: > Hi Baptiste, > > Baptiste Daroussin FreeBSD wrote on Sat, Jul 09, 2016 at 05:29:27PM +0200: > > > Beside minor portability issues (that I will provide fixes for once > > this patch is official) > > You can already provide them now if you want to, and i'll include > them in my work-in-progress version and testing. > > > I can say it works fine on FreeBSD :) > > Tested on FreeBSD 12-CURRENT: > > Great to hear that. > > My main worry is that i screwed alignment somewhere. Did you test > on any machines with unusual alignment requirements? Or is keeping > int32_t aligned to 4-byte boundaries guaranteed to be safe everywhere? > > > The 3 main "bad" feedbacks I got about mandoc was: > > - time to create the db was long with sqlite with the new code > > it is longer: does from 4s to 11s in general for the base manpages > > but I do not consider that as a big issue given it is not run that > > often and the code is quite new and there are probably room of > > improvements > > The SQLite version was optimized with gprof(1). I can try again > for the new code. But mandoc's makewhatis(8) will always remain > much slower than traditional makewhatis(8) because it parses the > complete manuals rather than just the NAME sections. After some profiling of the new code, it appears that most of the time is spent on dba_array_get and dba_array_next The flamegraph of makewhatis https://people.freebsd.org/~bapt/makewhatis.svg Best regards, Bapt