login
Header Space

 
 

2.6.9 vs. modern

September 30, 2008 - 5:00pm

do you know anything about the differences in the implementation between 2.6.9 and current versions? 2.6.9 is ancient and heavily patched for correctness, not performance.

with the code posted by Otheus i get
Duron/1200, 2.6.26: either 555555.56 or 833333.33 semop/s [0,0]
Core 2 Duo/2200, 2.6.24: either 1250000.00 or 1666666.67 semop/s [0,0]

which just scales with the cpu (and clearly shows the weakness of the time measuring method, better to use a high precision timer or measure iterations until time() changes).

the shell script method is just weird, as you can see you measure lots of things (implementation of /bin/sh (bash is slow compared to e.g. ash), mmap(), fork(), open(), ...) and the overhead is more than 99% (compare 555555 it/s with 1800).

2.6.9 (and the libc that is included in the old distro) is not optimized for modern hardware. e.g. the traditional instruction used for linux syscalls "int 80" got very slow on modern intel cpus since the pentium 4 which are optimized for throughput for simple instructions, software interrupts are fairly complex and the "syscall" instruction -- which is simpler and much faster -- is the preferred way to do syscalls. SCO afaik uses a '386 call gate for syscalls and may not be affected in the same way.

Reply

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <b> <quote> <pre> <hr> <br> <p> <img> <blockquote> <font> <tt> <table> <tr> <i>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options

speck-geostationary