To infinity and beyond!
-- Cool quote, so I'll leave it.
| Who really wants to see a picture of me? ||
Bethany, Oklahoma, USA
ntroutman <AT> users.sourceforge.net
I just recently (Aug 28, 2007) started making contributions to Robocode in the form of bug fixes.
- A minor one dealing with RobocodeEngine?.setVisible() which was accepted into the repository
- Major one that is still underway that fixes a pretty serious issue with heap management and circular references. Needless to say its a bit of mess to find, but I'm glad to contribute back to the OSS community.
- 2007-08-29 I think this is mostly fixed. To see the changes in memory usage check out the graph for heap memory usage for [[release 1.4.2]] and then for the [[fixed]] version with with my patches. In the images you'll notice that for r1.4.2 the max memory usage over a four minute time span hits 35 megabytes, with the patched code it almost scrapes 15 megs. Now remember that this is a memory leak, so over time that 35 megs from the unpatched would grow far larger. To be fair to RoboCode no one probably tested running hundreds of battles with large bots, or if they did they just bumped the maximum heap size up for the JVM and went on with life. One note is the number of battles run for these graphs is approximately 65.
- 2007-08-30 Its still not fixed :-( something else is still eating up all the memory. Back to digging through heap traces.
- 2007-08-30 Okay, so I think it was fixed. The profiler takes up an increasing amount of memory as it runs, so over time the profiler itself was causing the OutOfMemory? error. Rather frustrating actually. So look for the changes in the CVS repo sometime this weekend or early next week.
Don't forget to put feature requests/bug reports into the tracker at https://sourceforge.net/tracker/?group_id=37202
Feel free to ask questions etc.
Welcome to the RoboWiki, and thank you for the contributions so far! ;-) --Fnl
Oh, yes, sorry, where's my manners?? Welcome!! -- Simonton
Welcome! Good work on the memory fix for the engine. Pardon my ignorance, but would that affect only the Robocode (ie the GUI) or anything that uses the library (like RoboLeague, or RoboResearch)? -- Skilgannon
- It would affect anything that use the RobocodeEngine?. I ran across it not running the normal RoboCode but in using the Engine in another project. -- Ntroutman 2007-08-30
Welcome from me, too! We always welcome fresh blood--- err, newcomers to the Robocode arena. =) -- Voidious
Welcome to the (hopefully) Robocode addiction! --Starrynte