[AD] Patch for performance issues in i386 blitters |
[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]
Attached are diffs which fix a few minor performance issues in the x86 blitters: stack misalignment and unnecessary operation size prefixes. Changes are not expected to negatively impact any target CPU, as overall code structure remains intact. Files affected: src/i386/iblit8.s src/i386/iblit16.s src/i386/iblit24.s src/i386/iblit32.s src/i386/blit.inc Tests run on PMMX-200 w/ PCI NVidia TNT video. All tests run 3 times with results, mean results, and mean change listed. CLR = Clear(320x200) CLRX = Clear(320x200) w/ MMX BSS = Blit Screen->Screen BSSA = Blit Screen->Screen (Aligned) BMS = Blit Memory->Screen BMSA = Blit Memory->Screen (Aligned) MBMS = Masked Blit Memory->Screen 320x200x8 VESA2L *Before* CLR CLRX BSS BSSA BMS BMSA MBMS Test 1: 1270 2444 2170 2420 12055 28553 15113 Test 2: 1270 2413 2172 2421 12060 28630 15122 Test 3: 1259 2451 2190 2429 12006 28796 15149 Mean : 1266 2436 2177 2423 12040 28660 15128 After: *After* CLR CLRX BSS BSSA BMS BMSA MBMS Test 1: 1276 2510 2200 2423 12124 30747 15946 Test 2: 1278 2502 2208 2465 12140 31061 15795 Test 3: 1273 2500 2194 2466 12101 30945 15962 Mean : 1276 2504 2201 2451 12122 30918 15901 Change: +0.8% +2.8% +1.1% +1.2% +0.7% +7.9% +5.1% 320x200x16 VESA2L *Before* CLR CLRX BSS BSSA BMS BMSA MBMS Test 1: 645 1253 2049 2190 10527 20276 10257 Test 2: 643 1264 2062 2192 10417 20260 10294 Test 3: 640 1261 2049 2202 10430 20211 10152 Mean : 643 1259 2053 2195 10458 20249 10234 After: *After* CLR CLRX BSS BSSA BMS BMSA MBMS Test 1: 677 1328 2061 2213 10490 21483 10415 Test 2: 673 1333 2055 2204 10660 21324 10424 Test 3: 674 1330 2055 2228 10585 21256 10461 Mean : 675 1330 2057 2215 10578 21354 10433 Change: +5.0% +5.6% +0.2% +0.9% +1.1% +5.5% +1.9% 320x200x32 VESA2L *Before* CLR BSS BSSA BMS BMSA MBMS Test 1: 326 609 610 9010 9071 11615 Test 2: 326 615 609 8966 9518 11716 Test 3: 324 610 609 9071 9037 11607 Mean : 325 611 609 9016 9209 11646 *After* CLR BSS BSSA BMS BMSA MBMS Test 1: 326 614 611 9292 9254 12002 Test 2: 326 615 612 9290 9181 12047 Test 3: 325 608 609 9289 9336 11999 Mean : 326 612 611 9290 9257 12016 Change: +0.3% +0.2% +0.3% +3.0% +0.5% +3.2% -Charles Bilyue'
Attachment:
BLITTE~1.ZIP
Description: Zip archive
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |