I am not saying I want something similar to C/C++. Avoiding memory management is a quality in a garbage collector and is very appreciated. (I do not want people in the team manually delete objects neither - it is hazardous).
I just want to be sure not having garbage collection stopping my game more than a fraction of a frame at a 60 fps rate. Iterative garbage collector algorithms exist for this purpose. I already used it for similar reasons and Unreal also uses this system to ensure reliability. Obviously, I am not able to do a real test - I have no game programmed in Felix running yet. I am please to know that we won't have a bunch of fresh objects. I just want to be sure to have a B plan. It's an egg and chicken problem. Multi million dollar project deserve this level of assurance. Thanks for the reply! StepH -----Original Message----- From: skaller [mailto:[EMAIL PROTECTED] Sent: 10 juillet 2006 17:39 To: Stephane Le Dorze Cc: [email protected] Subject: Re: [Felix-language] garbage collection. On Mon, 2006-07-10 at 11:51 -0400, Stephane Le Dorze wrote: > As I told before; I am considering using Felix as a high level > programming language in Video Game. > > My preferred choice as: "The next video game mainstream programming > language". > > Video games are a real time application and cannot suffer the "stop > the world" side effect of garbage collection - especially in a > multiplayer (client/server) environment. This isn't right: it's equivalent to saying you cannot afford to waste time in C++ saying 'delete object'. Consider a singly linked list .. delete the head. Woooopppppppsssss. That's a recursive descent down the list calling the destructors. You *already* have a world stop garbage collection in ordinary C++, just from deleting a list. Basically, Felix isn't an FPL. It doesn't spew millions of fresh objects on the heap. There's rarely anything on the heap at all! You have to be using unoptimised closures and variants .. and you can't get around the memory management issues that leads to in C or C++ either: cyclic data structures can't be ref counted, so what are you going to do? In a game, I guess I'd be collecting every frame, 60 fps or whatever. Thus .. no jerks or freezes for the game player. If you end up with too much heap for that to be practical .. start using data structures that don't use so much heap. Remember in Felix you can delete Felix heap objects manually, and you can always use malloc/free for objects not containing Felix pointers. For example, Felix uses C++ string class for strings. The char * is managed with constructors and destructors as in C++ .. it can't contain any Felix pointers. Actually .. gc-ing the strings might be better. Copying strings around can be quite expensive ;) -- John Skaller <skaller at users dot sf dot net> Felix, successor to C++: http://felix.sf.net ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Felix-language mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/felix-language
