On Wed, 2005-07-27 at 23:32 -0400, Steven Rostedt wrote: > New benchmarks with my own formula. >
Take two: I ran this on my laptop (IBM ThinkPad G41 with an 3.3GHz Pentium 4 HT processor, yeah yeah, no battery life :-). But this has an older compiler. $ gcc -v Reading specs from /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/specs Configured with: ../src/configure -v --enable-languages=c,c ++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --enable-__cxa_atexit --with-system-zlib --enable-nls --without-included-gettext --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux-gnu Thread model: posix gcc version 3.3.6 (Debian 1:3.3.6-7) Here's the results on it: compiled again with "gcc -O2 -o ffb ffb.c" /* comments embedded */ sched=128 ffb=160 my=160 /* this is a 3.3GHz so clocks look good */ clock speed = 00000000:c5e54f4c 3320139596 ticks per second sched=159 ffb=159 my=159 last bit set generic ffb: 00000000:0a25b1d0 /* Hmm, all generic ffb is even slower? do I blame gcc or Intel? */ time: 0.051275712us sched ffb: 00000000:0023ae21 /* double Hmm, Ingo's is faster !? */ time: 0.000704289us my ffb: 00000000:019c458d /* look at this, mine is the same. Are the three bears coming around soon :-) */ time: 0.008137802us sched=0 ffb=0 my=0 first bit set generic ffb: 00000000:09766c3c time: 0.047816034us sched ffb: 00000000:0023c79f time: 0.000706254us my ffb: 00000000:005a8758 time: 0.001786939us OK, still looks like the generic ffb can be changed. Unless I'm missing something, this shows that I probably should be sending in a patch now to replace the find_first_bit. Ingo's sched_find_first_bit is still the winner, but that is customed to the scheduler, until we need a configurable priority. What do you think? -- Steve - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/