Jump to content
eric-odessit

Comparison Between Boostc And Hi-tech C

Recommended Posts

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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
Pavel    0
...#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

Share this post


Link to post
Share on other sites
...#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

Share this post


Link to post
Share on other sites
cardac    0

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)..

Share this post


Link to post
Share on other sites
JorgeF    0

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

 

.

Share this post


Link to post
Share on other sites

Your content will need to be approved by a moderator

Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×