On 06/14/2011 06:02 PM, Lauri Kasanen wrote: >> Could you try changing busybox to use getc_unlocked? I suspect you have >> thread capable libc/uclibc and they are doing a lot of locking. Locking >> is cpu-wise expensive operation. Especially in this case as the lock is >> reacquired for *every character* in the dependency file. >> >> That's only thing I can think of what could be going differently. >> >> And this would be issue in the config_* function on libbb. And causing >> performance issues in multiple other places too. > > I did the attached change, which improved bb somewhat, but it still > loses to the full one (without the .bins). > > 1.18.5 takes 1.9x as long as the full one on my test workload. > (attached, 64 modprobes, recorded from a typical boot) > 1.18.5 with the patch takes 1.52x the time, better, but still slower. > > I'm on standard x86/glibc, so reproducing this should be fairly easy.
Mmm.. must be related to how config_* stuff parses it then. The proper thing to do still is the implement the binary file format. This is just trying to do micro-optimizations compared to it. _______________________________________________ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox