Pentium III optimized packages

ค้างเรื่อง optimization packages ไว้นาน นั่งหาข้อมูลเพิ่มเติมแล้วก็เจอว่า โปรแกรมที่ optimize ไม่เหมือนกันอาจมี running time ต่างกันได้ถึง 20 – 30% .. เท่าที่รู้คือ default optflag ของ Red Hat/Fedora Core และ TLE ตั้งไว้ที่

-O2 -g -march=i386 -mcpu=i686

ซึ่งมีเสถียรภาพที่ดี และการันตีว่าใช้งานกับซีพียู x86 >= i386 ได้ทุกรุ่น แต่เรื่องประสิทธิภาพยังอัดได้อีกเยอะ อย่างแพ็กเกจที่ผม build ทั้งหมด (*.kit.{i386|i486|i686}.rpm) ตั้ง optflags ไว้ที่

-O3 --march=i386 --mcpu=i686 --pipe --fomit-frame-pointer

ก็จะเร็วขึ้นอีกนิด .. เมื่อวานอยากทำแพ็กเกจสำหรับ Pentium III มาใช้กับ Peorth (P-III 1 GHz) เลยซัด optflag ของ Pentium III ซะเต็มๆ (เอ่อ จะว่าเต็มๆ ก็ไม่ใช่แฮะ จะใส่มากกว่านี้ก็ได้ถ้าจะยอมลดเสถียรภาพ)

-O3 -march=pentium3 -pipe -fomit-frame-pointer
-fforce-addr -falign-functions=4 -fprefetch-loop-arrays

ที่จริงแล้วถ้าขยายออกมาจะยาวกว่านี้ เพราะ flag บางตัวจะ imply ตัวอื่นด้วย เช่น -O3 จะใส่ –finline-functions กับ -frename-registers เป็นต้น .. อุวะ .. ท่าทางเรื่องมันจะยาว ไว้จะเขียนมาให้อ่านอีกที .. กลับมาที่เรื่องแพ็กเกจก่อน เมื่อวานที่ optimize ไปแล้วคือ (ยก src.rpm มาให้ดูละกัน)

freetype-2.1.8-1.bci.1.pentium3.kit.src.rpm
glib2-2.4.5-1.pentium3.kit.src.rpm
gtk2-2.4.4-1.pentium3.kit.src.rpm
libgnome-2.6.1-1.pentium3.kit.src.rpm
metacity-2.8.1-2.1.pentium3.kit.src.rpm
nautilus-2.6.3-1.pentium3.kit.src.rpm
pango-1.4.1-2.pentium3.kit.src.rpm
qt-3.3.3-1.pentium3.kit.src.rpm
xorg-x11-6.7.0-2.1.pentium3.kit.src.rpm

เท่าที่ใช้งานจนถึงตอนนี้เสถียรภาพก็ถือว่า ok ยังไม่เจออะไรแปลกๆ .. ส่วนเรื่องประสิทธิภาพ ยังไม่รู้จะวัดยังไง ไม่มีเครื่องมือเลย .. ที่จริงพยายาม optimize glibc ด้วย แต่ไม่สำเร็จ ได้ binary มาไม่ครบ งงไปเลย (- -‘) .. ถ้า optimize glibc ได้ล่ะก็ ถึงจะใช้ทะเลประสิทธิภาพการทำงานก็ไม่ห่าง Gentoo เท่าไหร่แล้ว :)

หลังจากนี้ก็จะเป็นคิว optimize Athlon XP … ฮุๆๆ