The free C variants (we also have C++ for PICs) here are in no way better than JAL in the resulted HEX file.
Unfortunately, and I don't know why, Microchip don't want to release for free his PIC C compilers and I mean the ones with the full optimization. We always wanted to have a GNU C compiler as AVR programmers have.
It is a little unfair to compare the prices for ATmega328 when it can't be supplied anymore in DIP package - is missing also form two online shops from my country, where I have access. We have plenty of AVRs here - Romania is in Europe