(11-10-2008 02:13 PM)werner Wrote: [ -> ]can you tell us which optimizations you use, because then i will let the engineers build an new version
Ofcourse, per default the transmission package is compiled with the following CFLAGS (can be found in the configure file):
Code:
-g -Wall -Wformat-security -W -Wmissing-prototypes -Wdeclaration-after-statement -O3 -funroll-loops
The "-g" generated debug information which is an overhead in size as well as speed.
"-O3" optimizes some functions inline, which will make the code grow, this optimization can gain a little speed but also loose speed. It will always compile into a bigger program.
The o3 also uses register-renaming, which is good for the MIPS, it has lots of registers.
"-funroll-loops"
can speedup the application, but may be a strain on the processors' cache and even cause a degrade in speed.
Forget the -W(something) they are just for warning during compilation
I've changed the flags to:
Code:
-O2 -frename-registers -march=4kc
The -O2, bacause it has most of the goodness of O3, except for the loop unrolling and function inlining. One of the good things I've added to the -O2; namely the -frename-registers. This will optimize usage of the registers on the MIPS. The last option, -march, will specifically optimize for the 4ekc processor. I know, the e is missing, but GCC only knows 4kc at the moment and the latest GCC have the 4ekc, which is just an alias for the 4kc.
I have to say; I am not able to benchmark the performance increase processor wise. The files are a lot smaller at least.
For anyone interested:
I've uploaded the new release, the link in the first post is updated to the
final 1.40 of transmission.
Still beta2 for the nmt because the gaya (on popcorn) interface is still not working.