Jump to content
Sign in to follow this  
danutz

Very Slow Compile

Recommended Posts

BoostC latest version, PIC18F2620, 18F2321, 16F767, most probably on all PICs.

It takes about 2-3 minutes to compile a 4k program on a Celeron M 1,6GHz, 768MB RAM. Also, the compiler uses all the CPU.

If it's too difficult to optimize the compile time, could you at least add an option to change the priority of the process? Almost everytime I compile a program my wireless connection disconnects...

 

Thank you,

Dan

Share this post


Link to post
Share on other sites

Well there is always breaking it up into smaller includes and only recompiling the changed parts,

using precompiled object libraries, etc.

 

One of the easiest ways to speed up compiling is to have your project on a seperate drive from

your applications. As for process control, you can assign it any priority you wish in the task control

menu.

 

If you've a cellery M, i am guessing this is a laptop, if thats the case, your wireless is probably

disconnecting due to power managment control. When the CPU, ram, and drive are chewing

up power, i am guessing that it starts shutting down your peripherals to compensate.

 

An alternative that might help if your powerblock can not keep up to a full hardware load

(most can not), you can drop your project into a ramdrive.(this will also speed up compiles)

Just be sure to move your data back to your real drive before suspending or shutting down,

otherwise you may lose it.

 

Hope that helps.

Share this post


Link to post
Share on other sites

Thank you for your answer.

I think that changing the process priority from task manager is a job to do everytime I open Sourceboost. I know this seems to be the only way for the moment, but it would be useful to be able to do this from inside Sourceboost, once for ever (of course, just as a temporary solution, until a faster version of the compiler will appear).

Dan

 

Well there is always breaking it up into smaller includes and only recompiling the changed parts,

using precompiled object libraries, etc.

 

One of the easiest ways to speed up compiling is to have your project on a seperate drive from

your applications. As for process control, you can assign it any priority you wish in the task control

menu.

 

If you've a cellery M, i am guessing this is a laptop, if thats the case, your wireless is probably

disconnecting due to power managment control. When the CPU, ram, and drive are chewing

up power, i am guessing that it starts shutting down your peripherals to compensate.

 

An alternative that might help if your powerblock can not keep up to a full hardware load

(most can not), you can drop your project into a ramdrive.(this will also speed up compiles)

Just be sure to move your data back to your real drive before suspending or shutting down,

otherwise you may lose it.

 

Hope that helps.

Share this post


Link to post
Share on other sites

From a new user perspective this is an issue - slow compile speed.

 

I consider BoostC to be an excellent value, but these compile times are from the 1980's .

Share this post


Link to post
Share on other sites

Yes I agree.

I've abandoned using CC5X(except for pic10f2xx devices) in favour of BoostC which I consider a superior product on many levels, but this is a very annoying issue.

 

BoostC's compile is Veeeerrry slow on my Pentium3 desktop and P2 laptop(2 or 3 mins) compared to CC5X on my very old Dx2 66MHz 486 laptop!!(30-45sec!)

 

I don't see it as a major issue and I can live with it, but it is pretty frustrating.

Share this post


Link to post
Share on other sites

I've tried SB now a few times on different systems and a pattern seems to be emerging,

then again I could still be delusional.

 

But, depending on which windows you have installed or more directly how much MS has

altered the MS-DOS compatability for different versions, you get vastly different

performance out of the compilers. Older seems better, with that said, I am only about

to try and see what happens if i try to get it to run the compiler under cygwin.

 

...providing i can get SDCC to behave with this 8052 code first.

Share this post


Link to post
Share on other sites
I've tried SB now a few times on different systems and a pattern seems to be emerging,

then again I could still be delusional.

 

Here some rough times for SB 6.81 compiling I2C with options as shipped:

 

Semprom 2500, XP SP2: 18s :rolleyes:

P4 3.46 GHz, 2K SP4: 22s

P3 500 MHz, 98SE: 103s

Duron 750 MHz XP SP2: 152s

P3 500 Laptop, 2K SP4: 250s :lol: (?)

 

Upon further review, since the first two machines are outdated, and the compile times are fine; I don't think compile speed is *that* much of an issue.

 

(?) may not have recalled this correctly

Share this post


Link to post
Share on other sites

I know this is an old topic, but I just bought a new laptop for mobile compiling of the sourceboost programs. The laptop is an Intel Core i7 2nd Gen. 2670QM, 8GB ram. This thin is faster than my desktop. My program that I just compiled on the DESKTOP took all of 23 seconds. On the laptop it too 307 seconds.

 

You guys out there are alot smarter than me, so can anyone tell me how in the world to speed this thing up? This is unbearably slow. The program is only 1.5k for crying out loud. There MUST be some kind of solution to this.

 

Any ideas?

Share this post


Link to post
Share on other sites

I know this is an old topic, but I just bought a new laptop for mobile compiling of the sourceboost programs. The laptop is an Intel Core i7 2nd Gen. 2670QM, 8GB ram. This thin is faster than my desktop. My program that I just compiled on the DESKTOP took all of 23 seconds. On the laptop it too 307 seconds.

 

You guys out there are alot smarter than me, so can anyone tell me how in the world to speed this thing up? This is unbearably slow. The program is only 1.5k for crying out loud. There MUST be some kind of solution to this.

 

Any ideas?

 

The compiler start up time consists of two major parts: executable decompression and code parsing. The compiler executable is stored in a compressed format and every time it is launched it is decompressed. The second time hungry component is code parser that was built on a technology that was the best at the time the compiler development was started but as it turned out isn't the fastest.

 

Things that will speed up the compilation in the order of importance are bigger computer RAM, faster CPU and faster HD. For example code that takes 5sec to compile on my i7/8G/SSD desktop takes about 30sec under virtual machine that runs on the same desktop.

 

Another option that will speeds up compilation considerably when compiling multiple source files is to start compiler once with all source files passed in compiler command line rather than starting compiler for every source sile separatly (or use one big file for the source code rathet than many smaller files). And lastly if using SourceBoost sbmake.exe utility (that is used by SourceBoost IDE when the build command is issued, by Mplab X but not by MPLAB) use multiple build threads (default is 1).

 

Compiler is slow, linker is fast. Build your stable code into a library and add this library into your project.

 

Check if your anti virus slows compiler start up. The delay introduced by anti virus may be considerable.

 

If you have a fast desktop and slow laptop it may be worth to try the SourceBoost BoostBuild server. Enable server service on the desktop and use the -pp copliler option when compiling on the laptop (for more information see the Remote Build System chapter in the SourceBoost user manual).

 

Regards,

Pavel

 

PS: There seems to be something wrong with the remote build system in the 7.21 release. We are looking into this and fix will be available soon.

Share this post


Link to post
Share on other sites

Well, I tried to use the remote build server, but can't get it to work. The ports are open on both computers, as far as I can tell. I have added the -pp localhost:5584 to the build command and I get the error that the server has rejected the connection. I really don't understand this server stuff.

 

Is there not some good reason why my laptop runs this program slower than my desktop? I mean, the desktop has less ram and a slower processor. This laptop should be flying through all this. I just don't get it. I had an old - I mean really old - laptop that was till running xp and it makes this new laptop seem like a dinosaur in terms of build time. I just don't understand that.

Share this post


Link to post
Share on other sites

Well, I'm going to try this one more time and then I'm abandoning sourceboost.

 

I need help setting up this buildserver. I tried opening the port (5584) for both inboard and outboard on both machines. I added the -pp localhost:5584 line to the compiler options, but it won't connect. I have no idea what I'm really doing with this. I'm not an expert, or even a novice, when it comes to pc communications stuff.

 

Is there anyone who can walk me through this? I have windows7 and the compiler runs amazing slow on my laptop. If I can't find a way to speed this up, I'm gong to have to give up on it and go with MikroC or something. I don't want to do that, but this thing is running too low to be of any use.

 

5 minutes to build a 1.5k program is way over the top.

 

If anyone can help me, I would be very appreciative.

 

thanks.

Edited by mityeltu

Share this post


Link to post
Share on other sites

The BoostBuild system in 7.22 is broken again :( (Sorry about this.) We will prepare a patch for you today or tomorrow and let you know via this thread or PM.

 

BTW did you check if that's your antivirus who slows down the compilation?

 

Regards,

Pavel

Share this post


Link to post
Share on other sites

It apparently connects, but I am getting the following output:

 

Building...

"C:\Program Files (x86)\SourceBoost\boostc++_pic18.exe" 18F452.cpp -t PIC18F452 -idx 1 -pp localhost:5584 -obj Debug -d _DEBUG

 

error: unsupported toolchain

error: remote build failed

BoostC++ Optimizing C++ Compiler Version 7.21 (for PIC18 architecture)

http://www.sourceboost.com

Copyright© 2004-2013 Pavel Baranov

Copyright© 2004-2013 David Hobday

 

Licensed to ------------- under Single user Pro License for 1 node(s)

Limitations: PIC18 max code size:Unlimited, max RAM banks:Unlimited

 

 

18F452.cpp

 

BoostBuild Client Version 7.22.1

http://www.sourceboost.com

Copyright© 2010-2014 Pavel Baranov

Copyright© 2010-2014 David Hobday

 

connecting to server

connection established

requesting server info

server info received

done

 

failure

error: failed

Done

 

Is there something I need to change or do to the port settings to make it work right?

Share this post


Link to post
Share on other sites

It apparently connects, but I am getting the following output:

 

Building...

"C:\Program Files (x86)\SourceBoost\boostc++_pic18.exe" 18F452.cpp -t PIC18F452 -idx 1 -pp localhost:5584 -obj Debug -d _DEBUG

 

error: unsupported toolchain

 

error: remote build failed

BoostC++ Optimizing C++ Compiler Version 7.21 (for PIC18 architecture)

 

 

 

You need to use SourceBoost 7.22

 

Regards,

Pavel

Share this post


Link to post
Share on other sites

I installed 7.22 and received the following error:

 

Building...
"C:\Program Files (x86)\SourceBoost\boostc_pic18.exe" music.c -t PIC18F452 -idx 1 -pp localhost:5584 -obj Debug -d _DEBUG

error: unsupported toolchain
error: remote build failed
BoostC Optimizing C Compiler Version 7.22 (for PIC18 architecture)
http://www.sourceboost.com
Copyright© 2004-2014 Pavel Baranov
Copyright© 2004-2014 David Hobday

Single user Lite License (Unregistered) for 0 node(s)
Limitations: PIC18 max code size:8192 bytes, max RAM banks:2, Non commercial use only

music.c

BoostBuild Client Version 7.21
http://www.sourceboost.com
Copyright© 2010-2014 Pavel Baranov
Copyright© 2010-2014 David Hobday

connecting to server
connection established
requesting server info
server info received
done

failure
error: failed
Done

 

Not only did it not work, it is now unregistered.... again. Is there not an EASY way to gt this thing to work?

Share this post


Link to post
Share on other sites

I installed 7.22 and received the following error:

 

Building...

"C:\Program Files (x86)\SourceBoost\boostc_pic18.exe" music.c -t PIC18F452 -idx 1 -pp localhost:5584 -obj Debug -d _DEBUG

 

error: unsupported toolchain

error: remote build failed

BoostC Optimizing C Compiler Version 7.22 (for PIC18 architecture)

http://www.sourceboost.com

Copyright© 2004-2014 Pavel Baranov

Copyright© 2004-2014 David Hobday

 

Single user Lite License (Unregistered) for 0 node(s)

Limitations: PIC18 max code size:8192 bytes, max RAM banks:2, Non commercial use only

 

music.c

 

BoostBuild Client Version 7.21

http://www.sourceboost.com

Copyright© 2010-2014 Pavel Baranov

Copyright© 2010-2014 David Hobday

 

connecting to server

connection established

requesting server info

server info received

done

 

failure

error: failed

Done

 

 

Not only did it not work, it is now unregistered.... again. Is there not an EASY way to gt this thing to work?

 

That's because when you installed 7.22 it overwrote the BoostBuild patch reverting back to one that you had originally and that was broken. You need to install SourceBoost 7.22 and than install BoostBuild patch from the link in the previous post http://www.sourceboo...ostbuild722.exe

 

You have never responded if you have checked your antivirus.It could be the cause of the compilation speed issues you have.

 

Regards,

Pavel

Share this post


Link to post
Share on other sites

OK. That worked, albeit still very slow. I turned off the antivirus on both machines and it sped up the compile by about 8%. Not much improvement considering the size of the file.

 

Your software is my choice to use, but it is simply unusably slow on my laptop - which makes no sense whatsoever. My laptop is faster than my desktop, yet with this software, the compile time is still increased by almost a factor of 5. I still say this makes no sense.

 

I will simply have to wait till Sourceboost improves or switch compilers and spend another small fortune (for me) to get one that works on this machine.

 

I sincerely appreciate your replies and the help in getting the buildserver working. It is genuinely kind of you. You have my gratitude, but I am going to put sourceboost away until the next major revision and hope that the speed is improved.

 

kindest regards.

Share this post


Link to post
Share on other sites

UPDATE:

 

The problem is not with SourceBoost. I have purchased an older (much older) and considerably slower laptop running windows xp in order to program some older equipment whose software will not run on the new 64-bit machines or under windows 7. I decided to test BoostC on this machine using the same program that took so long to compile previously. No changes were made to the program and no changes were made to the default operating systems load profile. BoostC compiled the program in just under 6 seconds. That is a VAST improvement over the several minutes under microshaft's win7.

 

To the originators of BoostC: Please look into this and see if there is a way to optimize Boost for win7 to improve compile times. I don't know why it is so slow on the new win7 laptop, but it is truly unacceptably slow there and altogether faster on win xp. There must be something to that.

 

Anyway, I am glad to know I can start using BoostC again for my Pics.

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 emoji 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...
Sign in to follow this  

×