Jump to content


Photo

Comparison Between Boostc And Hi-tech C


6 replies to this topic

#1 eric-odessit

eric-odessit

    Newbrie

  • EstablishedMember
  • 5 posts

Posted 29 June 2010 - 11:14 PM

Hello,
I am considering recommending BoostC to my co-workers and looking for information of comparison between BoostC and Hi-Tech C in terms of reliability and optimization. Is there anybody who used both and can comment on this?
Thanks,
Eric.

#2 eric-odessit

eric-odessit

    Newbrie

  • EstablishedMember
  • 5 posts

Posted 06 May 2011 - 11:33 PM

Guys,
Can anybody comment on comparison to Hi-Tech?
Thanks,
Eric.

#3 Jacob Christ

Jacob Christ

    Regular

  • EstablishedMember
  • Pip
  • 67 posts
  • Gender:Male
  • Location:Rancho Cucamonga, CA

Posted 25 May 2011 - 07:26 AM

Guys,
Can anybody comment on comparison to Hi-Tech?
Thanks,
Eric.


We use both compliers regularly. So much so we've have our code set up to compile in both compilers. We do this because both have issues with both compliers but we can usually get one or the other to work. In general I would say that we have more luck with Source Boost but it still it is painfully slow to compile so we always start with hi-tech then fall back to boost when hi-tech is giving us issues. We are even on the verge of adding the C18 complier in the mix so that we have a third option with both boost and hi-tech are crapping out.

Comparing the two compilers with the same code base:

Boost Issues:

#1 Our projects take about 10-15 minutes to complier and link (most of the time is in the link step) with Boost C (ouch), 30-40 seconds with HiTech from a clean project.
#2 Boost C has some flaky behavior with preprocessors and they don't always work (especially ifdef's)... I'm sure if we sent Boost guys the code that failed they would fix it.
#3 There are at least two bugs (that may actually be the same bug) that we haven't been able to put our fingers on (that is to get a project to the Boost guys to fix).
#4 Does not support bit fields (unless added in V7), sample code from Microchip almost always uses bit fields.
#5 Some memory leaks that when working with USB
#6 There are some bugs like:

unsigned char get_operation(void)
{
return ~((portb >> 1) | 0x80); // This code will not work correctly...
}

// But this will... I've mentioned this before to boost guys, but I think this is the first code I've posted..
unsigned char get_operation(void)
{
unsigned char operation;
operation = portb;
operation = operation >> 1;
operation = operation | 0x80;
operation = ~operation;
return operation;
}


HiTech Issues:
#1 Some problems comparing 32-bit variables
#2 Some memory leaks that when working with USB

The boost list is longer I know, but we find the issues are easier to work around and the boost casm file is easer to read than hi-tech (probably because its not as optimized) so we can usually figure out our own work around to a problem.

Regarding the memory leaks we see with USB. When it occurs we usually switch compilers and the problem doesn't show up, so we end up bouncing back and forth between the two, when hi-tech stops working we switch to boost, but as soon as hi-tech starts working again we switch back (since we have plenty of time to test every hi-tech compile while waiting for boost to complete). Both seem to be size of project dependent.
HiTech does produce much smaller object files.

I'm posting this, since I'm bouncing off the walls trying to get a HiTech problem fixed right now and I submitted an issue a week an a half ago and I'm up late hoping for a response from Hi-Tech, since I'm in the US and they are in Australia and I'm want to get two iterations in on my issue since they are soooo slow to respond even with my $300 per year high priority support.

Oh, and C18 is much faster than boost as well...

I'm actually on a rampage to get all the bugs out of both compilers, and plan on submitting every bug found over the next few months. If we cannot we are abandoning PIC and will choose a different uC that has better compilers.

Jacob

#4 Pavel

Pavel

    Super Maniac

  • Administrators
  • PipPipPipPipPip
  • 1,446 posts
  • Gender:Male
  • Location:Melbourne, Australia

Posted 25 May 2011 - 07:46 AM

...#1 Our projects take about 10-15 minutes to complier and link (most of the time is in the link step) with Boost C (ouch), 30-40 seconds with HiTech from a clean project...


Have you tried to use parallel compilation that has been added in v7? A 4-core computer can easily compile 5 source files in parallel what will reduce your compile time to couple of minutes.

Another option is remote compilation (also introduced in v7) where a powerful remote computer can be set up as a build server.

Regards,
Pavel

#5 Jacob Christ

Jacob Christ

    Regular

  • EstablishedMember
  • Pip
  • 67 posts
  • Gender:Male
  • Location:Rancho Cucamonga, CA

Posted 25 May 2011 - 04:26 PM

...#1 Our projects take about 10-15 minutes to complier and link (most of the time is in the link step) with Boost C (ouch), 30-40 seconds with HiTech from a clean project...


Have you tried to use parallel compilation that has been added in v7? A 4-core computer can easily compile 5 source files in parallel what will reduce your compile time to couple of minutes.

Another option is remote compilation (also introduced in v7) where a powerful remote computer can be set up as a build server.

Regards,
Pavel


Haven't tried, nor did I know they existed... My biggest task before trying to speed things up is getting code to compile correctly... Thanks for the tip.

Jacob

#6 cardac

cardac

    Newbrie

  • Members
  • 1 posts

Posted 19 May 2014 - 03:32 AM

hello there.. yes I also found that slow compile problem - but inside FLOWCODE..
How can I change FLOWCODE so that I can use HiTech or even XC8 compiler.?? please please please please please please.??

Also I write questions to support@boostc. com or whatever the support email address is - and I never ever get any answers ..?????????????????????????????????

Please please please please please - can I get some replies there..!!!!!!??????????????????

what I think is probably not what the rest of you guys think.. but I would like to make one commrnt....

I love FLOWCODE - I only have FLOWCODE5......

Like another scientist I work with... says why the hell make yet another compiler - just use the microchip compiler exact routines and capabilities.!!!!

I realize there is big brain power in writing BOOSTC - but please make it exactly compatible to what the whole world already used/uses..!! rather use the big brain power to do that... A hell of a lot of people will appreciate you much better then

Now as always ... My Absolute and VERY KINDEST REGARDS
cardac (star master)..

#7 JorgeF

JorgeF

    Super Enthusiast

  • EstablishedMember
  • PipPipPip
  • 274 posts
  • Gender:Male
  • Location:ES @ Europe, third rock from the Sun

Posted 13 June 2014 - 09:00 AM

Hi

 

Strange.

I used the Sourceboost support a couple of times and they allways answered my questions.

Maybe you are asking teh wrong questions or, as they say, 'barking at the wrong tree'.

If you want support on setting up Flowcode, I would suggest you try Matrix support.

 

OTOH

I find it a bit starnge to ask company "A" support on how drop their toolset and setup a toolset from company "B".

I would fin dit even starnger if you got any support on that.

 

As for Flowcode himself.

My professional approach on programming, either embeded, desktop or web, its like I do at home.

I leave the big box of LEGO parts to the kids, and reserve the cuttlery, the guns, the toolbox and the car keys to the adults.

 

Just my 2 cents...

 

 

Best regards

Jorge

 

.





Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users