31.01.2014, 10:18
When projects grows, its compile time grows as well. The more macros and includes you have, the precompiler has more stuff to do.
I'm not sure how it works internally (no time and skills for full source analysis), but I think it's like
1. Precompiler pass
2. Second precompiler pass (reason ALS works)
3. Standard compilation
I'm currently working on a already existing project, it was previously a single file blob - after adding YSI libs, and modularizing it a bit the compile time went up ~60% (we are talking about minutes here)
Are there some methods which could slash down compilation time? I can think of some sevice mirroring minor changes in .pwn directly onto .lst file, or switching to C++ and composing GM from dll's, or more radical options - like implementing PAWN in a some kind of interpreted way (I have no idea if that'd be possible though), or rewriting pawncc in a more efficient way (but that's out of my skills scope).
I'm working on my trusty, but quite old notebook (dual core 2.1), so I'm quite certain that on decent CPU the times will be ~50% lower (I'm using highest priority for pawncc, with dedicated core 2 freezing it for a while), but still it'd be minutes.
I'm not sure how it works internally (no time and skills for full source analysis), but I think it's like
1. Precompiler pass
2. Second precompiler pass (reason ALS works)
3. Standard compilation
I'm currently working on a already existing project, it was previously a single file blob - after adding YSI libs, and modularizing it a bit the compile time went up ~60% (we are talking about minutes here)
Are there some methods which could slash down compilation time? I can think of some sevice mirroring minor changes in .pwn directly onto .lst file, or switching to C++ and composing GM from dll's, or more radical options - like implementing PAWN in a some kind of interpreted way (I have no idea if that'd be possible though), or rewriting pawncc in a more efficient way (but that's out of my skills scope).
I'm working on my trusty, but quite old notebook (dual core 2.1), so I'm quite certain that on decent CPU the times will be ~50% lower (I'm using highest priority for pawncc, with dedicated core 2 freezing it for a while), but still it'd be minutes.