Problem
On a sufficiently large C++ test program compilation time is quite 
slow.  Here's a quote from the end user for why it matters "cause you 
know ... in development, I compile more often than I run the damn 
thing".  You can see below that most of the time is spent in gcc.

Solutions
    a. Don't use gcc fe (eg psclang)
    b. Find the bottleneck in building whirl from libspin  (I think 
transversing the AST tree like we are now is really inefficient and 
probably unsolvable - See below)
    c. Don't use c++ ;)

32bit appears to win a little, but not much.  We can probably switch to 
using smaller portable types and save some time.
pathCC is a ELF 64-bit LSB executable
openCC is a ELF 32-bit LSB executable

Thoughts?  Anyone else care about this?


Timing

[phoenix3]# time /opt/ekopath/4.0.7/bin/pathCC  -I. -I../boost-trunk 
libs/phoenix/test/core/primitives_tests.cpp  
real    0m9.399s
user    0m8.497s
sys    0m0.881s

[phoenix3]# time /opt/ekopath/4.0.7/bin/pathCC  -I. -I../boost-trunk 
libs/phoenix/test/core/primitives_tests.cpp  
 real    0m9.397s
user    0m8.470s
sys    0m0.911s

[phoenix3]# time /mnt/psc/crap/open64/bin/openCC -I. -I../boost-trunk 
libs/phoenix/test/core/primitives_tests.cpp  
real    0m7.726s
user    0m7.020s
sys    0m0.666s

[phoenix3]# time /mnt/psc/crap/open64/bin/openCC -I. -I../boost-trunk 
libs/phoenix/test/core/primitives_tests.cpp 
real    0m7.760s
user    0m7.080s
sys    0m0.635s

[phoenix3]# time g++ -I. -I../boost-trunk 
libs/phoenix/test/core/primitives_tests.cpp 
real    0m6.700s
user    0m4.887s
sys    0m0.456s

[phoenix3]# time g++ -I. -I../boost-trunk 
libs/phoenix/test/core/primitives_tests.cpp 
real    0m5.743s
user    0m4.590s
sys    0m0.468s

-----------

/opt/ekopath/4.0.7/lib/4.0.7/x8664/cc1plus42 ...
real    0m2.022s
user    0m1.945s
sys    0m0.076s


# I didn't look into why it's doing this yet
/opt/ekopath/4.0.7/lib/4.0.7/x8664/cc1plus42 ...
Segmentation fault


/opt/ekopath/4.0.7/lib/4.0.7/x8664/wgen42 ...
real    0m0.598s
user    0m0.233s
sys    0m0.359s



/opt/ekopath/4.0.7/lib/4.0.7/x8664/inline
real    0m0.087s
user    0m0.054s
sys    0m0.033s


/opt/ekopath/4.0.7/lib/4.0.7/x8664/be
real    0m1.359s
user    0m1.286s
sys    0m0.070s


as --64 primitives_tests.s -o primitives_tests.o
real    0m0.073s
user    0m0.060s
sys    0m0.013s


time /usr/bin/ld ...
real    0m0.045s
user    0m0.028s
sys    0m0.016s


------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
February 28th, so secure your free ArcSight Logger TODAY! 
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to