Does incredible skips really works?

Previous topic - Next topic

spacefractal

This is pretty much going me to very insane and frustation.

Today im thinks im have waited about a hour just to wait the glbasic to compile the application total, its so slow im might choice to skips glbasic for my next project (those large projects). something that is much faster to compile.

The reason is that incredible skip that is included glbasic barely works for me at all, and have not do its job done since v11 (v10 did works better). That tool need to been much better than its all, so im cant call it increbible skips at all, when its never do that.

Even when im just change ONE char in a string, its dosent invoke the incredible skips parse at all, which is so annoying.

why does its not work? Here BlitzMax works about 1000 times better.

A fix to this slowless of glbasic could something like this:

- A toogle icon to force glbasic to uses increble skips on other than the source code file you are in, so only one source code is compiled, which would speed up very much. This should just been a feature icon. That due a change might produce FATAL ERROR, due glbasic cant checks other files.

Genius.Greedy Mouse - Karma Miwa - Spot Race - CatchOut - PowerUp Elevation - The beagle Jam - Cave Heroes 2023 - https://spacefractal.itch.io/

erico

It is not the first time people complain about ages in compiling time.

I wonder what is it about, I have no experience whatsoever,
Maybe the function > type made it necessary to full code compile in some occasions? I don´t know.

Would be nice to know, what are your experiences with compiling?
I have:
Wordcount:4255 commands
Takes about 12 seconds to full compile, all in one listing.

MrPlow

#2
What's speed like for all code or 90% in onegbas file?
Viking invaders is 9000 lines and compiles in 20 secs.
Maybe some thing is slowing your compile down?
Comp:
Speccy-48k, Speccy-128k, Amigas, PCs

spacefractal

#3
speed for one gbas file is not a issues, typical about 15-25 secs = nothing problem at all. But rarely happens.

Speed for whole source code is about 85 secs with 13500 commands. Greedy Mouse is a quite bigger then Karma Miwa, but my third games is not half that big and will not do that. Its a little game.

Alternative im would like to see the steps glbasic does, etc checking for media, compile time and other thing its does, so its could compare step to step. But its do fell very long time for full compiling.

PS. Im dont mind compile time when compile for other platforms really at all.
Genius.Greedy Mouse - Karma Miwa - Spot Race - CatchOut - PowerUp Elevation - The beagle Jam - Cave Heroes 2023 - https://spacefractal.itch.io/

erico

Quote from: spacefractal on 2014-Apr-27
...
PS. Im dont mind compile time when compile for other platforms really at all.

Agreed, we are looking into compiling at PC, so to test things out as quick as possible.

Your 13k commands seems comparable to my time, do media count in it? I have a lot of useless media into the media folder, maybe it takes time into the compiling phase to make things out.

spacefractal

its seen not. when its skips, the lowest time was about 13.5s, typical about 20s.

So that way im want to see a feature to force glbasic to skips other source code.

but 85-90 secs is really long time for each compile.
Genius.Greedy Mouse - Karma Miwa - Spot Race - CatchOut - PowerUp Elevation - The beagle Jam - Cave Heroes 2023 - https://spacefractal.itch.io/

erico

Do you have functions/types kind of relationships? I noticed complains on time to compile started from when that got in.

kanonet

Im not sure I IncrediBuild is completely working or is bugged. But even if its not bugged, you should remember, that it works on base of the generated C++ files, not the gbas! When you compile your project it is splitted in several files: every gbas becomes a cpp file, but there is also a global header that is used by every file. If you change something that will be in the header, not in the cpp, then all files that use this header (=your whole project) needs to get compiled again. Things that are in the headers are:

global variable definitions
type definitions (names and containing variables/members)
definitions of functions and functions of types (only the definition = names, return type, parameters, NOT the function code itself)
all string literals (yes since V11)

So if you keep this in mind you may have a better compile. All said above is from my experience and code analysis, so not 100% guaranteed, but maybe its a good start for you to find out yourself.
Lenovo Thinkpad T430u: Intel i5-3317U, 8GB DDR3, NVidia GeForce 620M, Micron RealSSD C400 @Win7 x64

SnooPI

Quote from: kanonet on 2014-Apr-28
When you compile your project it is splitted in several files: every gbas becomes a cpp file, but there is also a global header that is used by every file. If you change something that will be in the header, not in the cpp, then all files that use this header (=your whole project) needs to get compiled again.

You're right, this is why the code must be structured perfectly.
Personally, I have restructured my code (8000 lines  :S) because I had this problem.

spacefractal

But when small change not invoke skip, example change content on a string.... Even one simple change.

Something not happens with blitzmax.
Genius.Greedy Mouse - Karma Miwa - Spot Race - CatchOut - PowerUp Elevation - The beagle Jam - Cave Heroes 2023 - https://spacefractal.itch.io/

kanonet

Like I said: all strings are in a header, so you need to compile the whole project again.
Lenovo Thinkpad T430u: Intel i5-3317U, 8GB DDR3, NVidia GeForce 620M, Micron RealSSD C400 @Win7 x64

Moru

#11
Strings has a very easy solution:
Keep them all in external files that you read in on runtime, not compile time. This has a nice side-effect of making it very easy to support more languages. This is what the ini files are for anyway.

Usually people have the problem that code gets skipped even though it was changed. Often this is caused by using a USB-drive to work from. Don't work on USB-drives, they are not very safe.

To force a recompile of the whole project in these cases is made by toggling debug mode off and on again. Is this maybe something you do often?

spacefractal

Then it's should only update the header instead.... It's still stupid.
Genius.Greedy Mouse - Karma Miwa - Spot Race - CatchOut - PowerUp Elevation - The beagle Jam - Cave Heroes 2023 - https://spacefractal.itch.io/

Moru

Please don't throw stones. You know the rest... :-)

https://xkcd.com/844/

spacefractal

blitzmax can skips correctly and is a quite insane fast compiler (even im have a around 1mb source code in it), while glbasic allways have been insanely slow.
Genius.Greedy Mouse - Karma Miwa - Spot Race - CatchOut - PowerUp Elevation - The beagle Jam - Cave Heroes 2023 - https://spacefractal.itch.io/