Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Geek Culture / Quote from Lee's Diary...

Author
Message
Hamish McHaggis
21
Years of Service
User Offline
Joined: 13th Dec 2002
Location: Modgnik Detinu
Posted: 22nd Jul 2005 21:42
Quote: "One of my projects I will be doing after FPSC is to speed up the compiler with some crazy ideas I have.? It might be possible to turn a 3 minute compile into a 3 second compile (something I have nicknamed Active Dynamic Recompiler which basically involves the compiler staying in memory, remembering what it did before, and only doing new work instead of the tedium of doing what it has already done).? I would like this to happen not least because FPSC was written in DBPro and if I am to continue developing it, I need my compiles to take a lot less than 3 minutes each time I make a change!? Watch this space folks!"


Holeh shizmo! Yes please!

More tea Vicar?
Van B
Moderator
22
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 22nd Jul 2005 21:46
Insert Tom Cruise style air punch .

I'm aching for faster compiles with vanmesh, hopefully Lee will get this implimented.


Van-B

Robin
21
Years of Service
User Offline
Joined: 22nd Feb 2003
Location: United Kingdom
Posted: 22nd Jul 2005 21:53
That would be great

http://www.thegameszone.tk | robin@thegameszone.tk

TV Card for sale (PCI) Watch/Record TV/Teletext on your PC £25
Jeku
Moderator
21
Years of Service
User Offline
Joined: 4th Jul 2003
Location: Vancouver, British Columbia, Canada
Posted: 23rd Jul 2005 12:55
It's what Visual Studio has been doing forever, so if this were to be implemented in DBP, it would be pretty cool


My "everyone else has one so why can't I?" blog: http://www.jeku.com/blog/
Lost in Thought
20
Years of Service
User Offline
Joined: 4th Feb 2004
Location: U.S.A. : Douglas, Georgia
Posted: 23rd Jul 2005 17:40
A 3 min or even 10 min compile time isn't all that bad really considering some mappers wait hours for a level to compile for some gaming platforms, you just have to think about your code more carefully before changing it so you don't have to recompile every 5 mins. I am not complaining about the current compile times, but if he does get time (when the actual bugs are fixed) it would be nice to have that option

Drew Cameron
20
Years of Service
User Offline
Joined: 30th Jan 2004
Location: Scotland
Posted: 23rd Jul 2005 18:37
@ Lost in Thought,

Yeah, but sometimes you do need to compile after very small changes - and waiting a minute or more takes a large amount of time out of development.


Katie Holmes does not endorse D&C or Drew Cameron.
Lost in Thought
20
Years of Service
User Offline
Joined: 4th Feb 2004
Location: U.S.A. : Douglas, Georgia
Posted: 23rd Jul 2005 19:08
I guess I could see the possibility in that, though I almost always wait until I have done quite a bit of programming before compiling. If I work on a project for say 5 or 6 hours in one day I will only compile 2 or 3 times (more likely 2 than 3), so 3 to 10 mins isn't that big a deal to me. While it is compiling I will be scratching stuff on paper as well, so much time isn't really wasted. You can usually break your code up into smaller versions to test new stuff as well, much like Lee does with FPSC. And you need some time to get something to drink/eat and use the restroom, which is a perfect time to compile. To each his own I guess I will get another machine (when I save up the money), so I can work while I compile my smaller codes into 1 larger code for testing it all together.

DBAlex
20
Years of Service
User Offline
Joined: 4th Oct 2004
Location: United Kingdom
Posted: 23rd Jul 2005 19:24 Edited at: 23rd Jul 2005 19:24
I disagree... Waiting to compile for 3 minutes is a waste of time. Say you make 3 typos in your code, and have to fix each one seperately, and you program is huge, Thats 3 recompiles you would have to do... 12 Minutes...

Who in there right mind would want to wait that long?

Not me... .

EDIT: I think Drew basically said what I meant... Meh...


AMD 64 3000 + 512mb RAM + 80GB HD + Radeon 9600se 128mb
http://www.dbastudios.cjb.net
Jess T
Retired Moderator
21
Years of Service
User Offline
Joined: 20th Sep 2003
Location: Over There... Kablam!
Posted: 23rd Jul 2005 19:43
One of the best things that could be done is when returning compiler errors, return more than one at a time!

That way, if you type in 3 different things wrong, you don't have to compile it three times to find them all!

Would be nice, but we can only hope

Jess.

Team EOD :: All-Round Nice Guy
Want Better dbHelp Files?
Neofish
20
Years of Service
User Offline
Joined: 7th Apr 2004
Location: A swimming pool of coke
Posted: 23rd Jul 2005 20:10
Quote: "I disagree... Waiting to compile for 3 minutes is a waste of time. Say you make 3 typos in your code, and have to fix each one seperately, and you program is huge, Thats 3 recompiles you would have to do... 12 Minutes..."


Put quite simply: don't make the errors

Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 23rd Jul 2005 20:29
on the one hand, I'm glad this is finally going to be implimented.
on the other hand though it doesn't fill me with as much joy knowing it took the programmer of the language to have to experience the downside of large projects in DB/P for this to actually become a reality that most people had asked for atleast a year ago.

I hope that Syntax checking also is improved, as most of the time it takes around 30-45second for the compiler to find any syntax errors in the code. So I know if there are any stupid mistakes in my code if it just sits there doing nowt for a minute. I'm sure this aspect can be hugely increased in speed.

Kevin Picone
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 23rd Jul 2005 20:47
Yeah it's an interested idea, and i've considered a similar approach for PB at one stage. Ideal my take on this approach was that the compiler would only regenerate scopes. So if you only changed a few lines a function, so only that section is compiled. Which is doable, until you change the parameters of the function say. Then all the calls through out the code are no longer valid. So you end up patching the calls (ie. inserting/removing isn't much fun). Doable, but the messy.

For PB we've taking a more tradition module approach. Modules are pre-compiled chunks of raw code. These chunks are stored on disc. During compilation the compiled modules are then included into the build rather than re-compiling the include each time. Similar to object files that C/Assembly programmers would be familiar with. But with a few wacky twists

Although, while it will certainly turbo charge PB's already compilation process. The real benefit, come from users being able to distribute compiled code in module form, rather than source. A bit like DLL that is linked into the build. and few other tidbits

Kevin Picone
[url]www.underwaredesign.com[/url]
Play Nice! Play Basic (Release V1.08 Out Now)
Lost in Thought
20
Years of Service
User Offline
Joined: 4th Feb 2004
Location: U.S.A. : Douglas, Georgia
Posted: 24th Jul 2005 04:57
Quote: "Say you make 3 typos in your code, and have to fix each one seperately, and you program is huge, Thats 3 recompiles you would have to do... 12 Minutes..."


If you have one typo you may have more. Go ahead and search your code for typos before recompiling. Keep all of your variables with matching cases (even though DBP doesn't require it) and they will be easier to spot. You should always skim over your code looking for obvious mistakes before compiling anyway. I have found several errors like that.

I'm not saying this compiler option is a bad idea. I'm just saying it's priority should be put way behind bug fixs. If you practice proper coding techniques, you won't have to compile as often.

DBAlex
20
Years of Service
User Offline
Joined: 4th Oct 2004
Location: United Kingdom
Posted: 24th Jul 2005 04:59
Yeah... I dont get typos... Im just saying that other people could... And I do generally scan over my code too...

Anyway, Making the compile time smaller is surely a good thing?

But it shouldnt come before Bug Fixes I suppose...

But then TGC allways goes for features and not Bug Fixes...

J/K


AMD 64 3000 + 512mb RAM + 80GB HD + Radeon 9600se 128mb
http://www.dbastudios.cjb.net
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 24th Jul 2005 05:21 Edited at: 24th Jul 2005 05:22
That will help with bug fixing and is a good idea. Anything that helps development speed is a good idea IMO. Then you get to concentrate more on things like gameplay with the extra time. I crank out more apps if you go for quantity over quality like some developers.

Can't wait for the next Bug Week.

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Toby Quan
21
Years of Service
User Offline
Joined: 16th Oct 2003
Location: U S A
Posted: 25th Jul 2005 08:15
I made a game called Invaders from Earth. It took about 60-100 hours to code. It was 4,000 lines of code.

I compiled at least 5 times an hour. It's like this:

* Okay, make the guys move faster. Change program, recompile.
* Okay, that was too fast, Make them move slower. Change program and recompile.
* Okay, now the speed is good, but they need to be over to the left. Change program and recompile.
* Okay, now they're in the right spots, but they're too big. Change program and recompile.

I went back to using DBClassic, and it's pretty nice not having to wait for compile times.

If TGC could improve the compile time, that would be a great improvement for the product indeed.
MikeS
Retired Moderator
21
Years of Service
User Offline
Joined: 2nd Dec 2002
Location: United States
Posted: 25th Jul 2005 10:36
I compile after every change I make, and test right away. Most of my programs are pretty small, so it really doesn't affect me too much. Making faster compile times a priority, still doesn't seem like a bad to me though.



A book? I hate book. Book is stupid.
(Formerly Yellow)
Jeku
Moderator
21
Years of Service
User Offline
Joined: 4th Jul 2003
Location: Vancouver, British Columbia, Canada
Posted: 25th Jul 2005 12:31
That's the same with me. I test every single little thing that I do, even if I can guess what it will do (i.e. move an image one pixel to the left). I figure this is the best way to go because if you make hours of changes it may be harder to find a bug.


My "everyone else has one so why can't I?" blog: http://www.jeku.com/blog/
Lost in Thought
20
Years of Service
User Offline
Joined: 4th Feb 2004
Location: U.S.A. : Douglas, Georgia
Posted: 25th Jul 2005 18:21
Instead of compiling all the time, I mark everything I change since the last good compile. I then do alot of programming and test when I have made enough changes to warrent a compile (usually something very major or alot of little things). Since you marked what you changed it isn't that hard to find the bug/bugs. Most bugs are typos or code being in the wrong order (new code conflicting with older code before it and needing to be moved earlir in the loop) for me as I sometimes get carried away.

Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 25th Jul 2005 19:50
you know what the most interesting thing about the compiler is?
If you have a single source code of around 1,000 lines that will take approx. 20sec to compile.

Split that evenly into 10 sources, and it takes the compiler half the time. Despite the fact it puts all of your source into the same .dba before compile.

Well this aside, I feel the compiler itself (and possibly how the language is output) should be looked at. Right now the speed on even the most simple operations isn't even close to the competitors.

I can put up with longer compile times provided the end result means much quicker code. This extends to Include files too. They should be being added based on thier entry point, not just thrown to the end of the original source.

BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 25th Jul 2005 21:00
None of the editors available lend themselves to tracking changes, so compiling regularly is essential.

It's already been said, bug-tracking needs regular compiles. It's not about typos and obvious bugs; it's about the fine-tuning, and quoshing that irregular "happening" in your game before it disappears into thousands of lines of code.

I compile every 10 minutes or so on average. Here's to fast compiles!

BatVink
DARKGuy
20
Years of Service
User Offline
Joined: 28th Nov 2003
Location:
Posted: 3rd Aug 2005 02:32
Holy cow, Lee had to deal with it before noticing it takes too long xD


http://dbfree.dbspot.com/ <- DB Freebie Archive! Royalty-free media for your games! FREE!
JoelJ
21
Years of Service
User Offline
Joined: 8th Sep 2003
Location: UTAH
Posted: 3rd Aug 2005 02:40
Quote: "I hope that Syntax checking also is improved, as most of the time it takes around 30-45second for the compiler to find any syntax errors in the code. So I know if there are any stupid mistakes in my code if it just sits there doing nowt for a minute. I'm sure this aspect can be hugely increased in speed."


i think that would be more for the IDE to do than the compiler

"people who wear clothing with tech themes for the purpose of gaining a social label are no different than teenagers who wear large sweatpants to look edgy"
-Wikipedia "Nerd"
Hamish McHaggis
21
Years of Service
User Offline
Joined: 13th Dec 2002
Location: Modgnik Detinu
Posted: 3rd Aug 2005 02:48
I agree with Raven about the syntax checking. Delphi and DevC++ both take a matter of seconds to produce a whole list of syntax errors and other information about the code. Either the DBPro compiler's syntax checker is badly coded and unnessecarily slow, or it is doing stuff before the syntax check that it should be doing afterwards, I suspect the latter is probably more likely.

Also the debugger, although I guess it does "technically" work, still needs fixing. I don't know if it's got anything to do with using multiple source codes, but it's always highlighting COMPLETELY the wrong piece of code, which makes it about as useful as a chocolate fireguard. The general design of the debugger needs a complete overhaul. I love Delphi's UI and debugging tools, and I wish Darkbasic had just an element of what they have.

More tea Vicar?
PowerSoft
20
Years of Service
User Offline
Joined: 10th Oct 2004
Location: United Kingdom
Posted: 3rd Aug 2005 15:35
@BatVink

Quote: "None of the editors available lend themselves to tracking changes, so compiling regularly is essential."


How do you mean?

Always available to help
David T
Retired Moderator
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: England
Posted: 3rd Aug 2005 17:03
Quote: "One of the best things that could be done is when returning compiler errors, return more than one at a time!"


Problem is then, what do you do in this situation?



you hit an error trying to compile the type statement, so you disregard it. So then the next line dimming the variable will hit an error because mytype wouldn't exist. The next line you'd also hit an error because var wouldn't have the UDT field 'val' etc. etc.

It's a clunky example but that's hte main problem with trying to continue compile - you end up with cascading errors. In vc++ I once you got 40 errors, but they were all cascading. Fix one line and they all went away!

"A book. If u know something why cant u make a kool game or prog.
come on now. A book. I hate books. book is stupid. I know that I need codes but I dont know the codes"
Cryptoman
21
Years of Service
User Offline
Joined: 24th Nov 2003
Location: Utah Mountains
Posted: 4th Aug 2005 03:02
Yes, I've put my opengl work on hold because of compile time. It takes 8 mins. just to include up to opengl 1.5 functions and 2.0 adds quite a few more.

This would be nice.

Hopefully it will be implemented soon.


Jess T
Retired Moderator
21
Years of Service
User Offline
Joined: 20th Sep 2003
Location: Over There... Kablam!
Posted: 4th Aug 2005 03:42
David, that's a good thing, though.

The errors cascade, and you get a nice little list of the buggers, then you start at the top ( hopefully with the right line number ), fix that, and then move to the next one, if you can see that it is directly related to the syntax error you just fixed, you can move on and compile again.

I really really like the way C++ cascades its errors.
Admittedly, DarkBASIC is BASIC, meant for beginners to programming, so they might get a little confused, but then again, array's probably confuse them ( they sure confused me when I started ).
It'll just become another part of the language once it's in, and I'd say that it'd help alot of people more than they can think of right now

Just my thoughts

Team EOD :: All-Round Nice Guy
Want Better dbHelp Files?

Login to post a reply

Server time is: 2024-11-27 21:35:10
Your offset time is: 2024-11-27 21:35:10