Quick compiler test
code used ADC_ON_LEDs.c from pro version directory
to make the code quickly compatible between Pro & STD compilers i removed the lines...
C1ON_bit = 0;
C2ON_bit = 0;
Device used 16F887 44pin TQFP
ROM available = 8192 Bytes
RAM available = 368 Bytes
EEprom available = 256 Bytes
Internal RC used. setting = 8Mhz NOCLKOUT
Performance stats taken from the main front screens (not the detailed stats page) of both Standard and Pro compilers are as follows
============================================
Standard Compiler
ROM Used = 86 Bytes
ROM Free = 8105 Bytes
ROM numbers do not add up correctly 86 + 8105 = 8191, 1 Byte short!
RAM Used = 19 Bytes
RAM Free = 349 Bytes
RAM numbers do add up correctly 19 + 349 = 368 Bytes
Hex file size = 574 Bytes
============================================
Pro Compiler
ROM Used = 85 Bytes
ROM Free = 8107 Bytes
ROM numbers do add up correctly 85 + 8107 = 8192 Bytes
RAM Used = 6 Bytes
RAM Free = 346 Bytes
RAM numbers do not add up correctly 6 + 346 = 352 Bytes, where are the missing 16 Bytes? are they assigned to R0 - R15?
Hex file size = 563 Bytes
============================================
in summary
the front page of the package reporting shows the Pro compiler has out performed the Standard compiler in all areas. With reduced ROM, RAM and hex output code usage
However a slightly closer look does not support the front page reporting numbers.
Also with the example compiled the Pro detailed RAM stats page usage pie chart shows there to be 495 Bytes of RAM available in a device which has 368 Bytes!
Compiler performance
Re: Compiler py erformance
in PRO compiler this 16 bytes are distinct section because:Mince-n-Tatties wrote:Quick compiler test
the missing 16 Bytes? are they assigned to R0 - R15?
Remapping local variables to working register optimization is introduced.
so they can not be reported as used ram because they may be shared with locals when optimizer see it is possible.
this is stated in whats new.
hex file is not 1 to 1 with flash image. Used ROM is what counts.However a slightly closer look does not support the front page reporting numbers.
just for experiment org main to 0x400 and see results for hex size in old
and PRO compiler. you will see that rom is same but hex file size will be different completely.
this is bug, thanks for reporting. we will fix it.Also with the example compiled the Pro detailed RAM stats page usage pie chart shows there to be 495 Bytes of RAM available in a device which has 368 Bytes!
-
- Posts: 2780
- Joined: 25 Dec 2008 15:22
- Location: Scotland
We are always glad to have feedback, because it help us keep development in right direction. Thank you for helping us improve mikroC.Mince-n-Tatties wrote:thanks for the feedback on my input, its great to have this rather than the way many more expensive compiler producers provide oneway traffic, customer in!
glad to give some time back to you guys and feel free to answer me with RTFM if its in there.