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
[email protected]
https://lists.sourceforge.net/lists/listinfo/open64-devel