Thanks Sven this is very interesting. I'd like to try the scmc tool if it's OK, especially as I'm generating lots of unused functions e.g. different arity versions. LOC is 1000 or more depending on the app. All the popular architectures are being targeted but I'm mainly developing on 64bit FreeBSD with GCC 4.9 and a non-parallel boehm-gc from the ports. I'd never heard of x32 before but it sounds useful. Run time/heap usage will vary, and I'm using the pthread module (though not very much, yet).
What do you think is the cause of the speedup you see? Does Bigloo perform some kind of whole program optimization a la Stalin, or is it maybe something to do with the linking of modules or object files?
Sent: Monday, August 15, 2016 at 7:55 AM
From: "Sven Hartrumpf" <[email protected]>
To: [email protected]
Subject: Re: [bigloo] Performance
From: "Sven Hartrumpf" <[email protected]>
To: [email protected]
Subject: Re: [bigloo] Performance
Hi Bob. bobeob wrote on 2016-08-12 05:11: > Hi, I'm just wondering how I might speed up my code with little or no > effort! > Do class fields marked as read-only improve performance? I have never used classes, so I have no idea:-) > Might I get faster code by merging all my modules into one big file? Yes; it might. I have seen speed-ups of 20-30 % for some applications. We have an experimental tool "scmc" that compiles a modularized program as one generated file with all non-reachable functions removed (but there may not be any name clashes between modules). If interested, I can share the tool. Can you provide some details? - lines of code - architecture (ABI: i386, x86-64, x32) - C compiler - typical run time of your application - heap usage - threading libraries or none Ciao Sven
