shithub: aacenc

Download patch

ref: 0a245e1864fa69aeb86b444a7d98bee54ad2e1c1
parent: 4f1e884b74dcb205d224c70c1b2cd31ffda49d6d
author: thebard <thebard>
date: Tue Feb 22 21:57:40 EST 2000

Got run time down 100%. It looks like gcc is starving registers or causing
mosterous cache misses. More to come.

--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,9 @@
-# Recomended compile options for gcc with a PentII or better for maximum speed
-# are: -O6 -fomit-frame-pointer -march=i686 -funroll-loops -finline-functions
-# Note: for fastest compilation, -funroll-loops -finline-function
-# -fomit-frame-pointer and the highest -O that is safe with your compiler
-# is STRONGLY recommended!
-
+# On X86 machines it is HIGHLY Recomended that you compile only with 
+# -march=i686 -finline-functions -funroll-loops -fomit-frame-pointer
+# Do NOT Compile with -O of ANY kind. It looks like gcc's optimizations are
+# either starving registers, or causing huge cache misses for Intel Processors.
+# Its currently twice as fast with no -O than any -O.
+# 
 prefix = /usr/local
 
 DESTDIR = 
--- a/profiling.txt
+++ b/profiling.txt
@@ -79,3 +79,75 @@
   1.35    547.63     8.81    41104   214.33   215.15  calc_noise
   1.19    555.37     7.74    41048   188.56   188.56  psy_step9
   1.04    562.15     6.78    20524   330.34   597.84  nok_ltp_reconstruct
+
+------------------------------------------------------------------------------
+thebard
+CVS Tue Feb 22 19:18:25 CST 2000
+-finline-functions 
+5 min, 38.96 sec.
+The Outfield Bangin': track 2: Bangin' On My Heart
+Ok, this is wierd. It jsut dawned on me that since the x86 isnt a risc box with a ton of registers (like im used to) it might be register starved. That seems to be the case. With no optimization except inlining, we are running with a 200% speed increase. Time to pin this down.
+NO PROFILE
+
+------------------------------------------------------------------------------
+thebard
+CVS Tue Feb 22 19:18:25 CST 2000
+-O -finline-function
+11 min, 6.09 sec.
+The Outfield Bangin': track 2: Bangin' On My Heart
+Looks like -O is still starving registers.
+NO PROFILE
+
+------------------------------------------------------------------------------
+thebard
+CVS Tue Feb 22 19:18:25 CST 2000
+No Optimization
+5 min, 39.84 sec.
+The Outfield Bangin': track 2: Bangin' On My Heart
+a bit slower than the non inlined version.
+NO PROFILE
+
+------------------------------------------------------------------------------
+thebard
+CVS Tue Feb 22 19:18:25 CST 2000
+-march=i686 -finline-functions
+5 min, 38.25 sec.
+The Outfield Bangin': track 2: Bangin' On My Heart
+Still Not getting anywhere.
+NO PROFILE
+
+------------------------------------------------------------------------------
+thebard
+CVS Tue Feb 22 19:18:25 CST 2000
+-march=i686 -finline-functions -funroll-loops
+5 min, 37.04 sec.
+The Outfield Bangin': track 2: Bangin' On My Heart
+More Nothing.
+NO PROFILE
+
+------------------------------------------------------------------------------
+thebard
+CVS Tue Feb 22 19:18:25 CST 2000
+-march=i686 -finline-functions -funroll-loops -fomit-frame-pointer
+5 min, 39.46 sec.
+The Outfield Bangin': track 2: Bangin' On My Heart
+Still Nothing.
+NO PROFILE
+
+------------------------------------------------------------------------------
+thebard
+CVS Tue Feb 22 19:18:25 CST 2000
+ -march=i686 -finline-functions -funroll-loops -fomit-frame-pointer -fthread-jumps
+5 min, 41.00 sec.
+The Outfield Bangin': track 2: Bangin' On My Heart
+Still Nothing.
+NO PROFILE
+
+------------------------------------------------------------------------------
+thebard
+CVS Tue Feb 22 19:18:25 CST 2000
+-march=i686 -finline-functions -funroll-loops -fomit-frame-pointer -fthread-jumps -fdefer-pop
+5 min, 42.24 sec.
+The Outfield Bangin': track 2: Bangin' On My Heart
+Still Nothing.
+NO PROFILE