Subversion Repositories public iLand

Rev

Go to most recent revision | Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
707 4683d 07h werner /trunk/src/ rework of the random numbers in iland.
Now, many (200000) random numbers are precalculated using a given algorithm (there are three or four choices), then the drandom() etc functions read from this array. After some rotations, the numbers are renewed. The point is: this is now reentrant, so the per-thread storage of MTRand objects is obsolete.
 
706 4684d 00h werner /trunk/src/ some performance tests with random number generators. Results so far are not too indicative.  
705 4684d 03h werner /trunk/src/ series of performance tests / modifications.
Using "valgrind" on the linux virtual machine, some performance
measurements were made.
Some candidates for optimization were tested. (1) the applyLIP()
function (about 30% of total run time in runYear()): here several
inlining options were tested; testing the value of the stamp before
using it (in order to omit the other steps) prooved to be slower than
unsing all stamp values.
(2) the random number generator; here the random number generation is
about 5% of the total run time; the commit contains two/three other
variants.
 
671 4735d 07h werner /trunk/src/ Necessary changes for GPL licence (i.e. headers in all source files)  
639 4896d 04h werner / move current content to the "trunk"  
615 4955d 07h werner /src/ removed windows specific _isnan() calls  
443 5214d 11h werner /src/ problems with multihtreading and the random generator. Crashes revealed that the MersenneTwister class is not multithreadable; The solution now is to have for each Thread in the thread pool one random number generator. This removes the crashes, but makes changes to the code necessary.  
431 5242d 00h werner /src/ included the logLevel-Functions at several locations in the source code.
added a option to only display debug messages in the DebugTimer destructor when elapsed time is longer than one millisecond.
 
349 5336d 08h werner /src/ tested behavior of irandom(from, to). It is clear now, that results are [from, to], i.e. the upper value is also returned. Be careful when using for querying an index for a list/vector.  
289 5461d 20h werner /src/ random - things: added the Picus random-helper-classes (RandomIndex, CustomRandomPDF, ...).
added a 3rd party Mersenne-Twister-Random-Generator (added a 3rdparty) directory.
 
287 5462d 19h werner /src/ Tree initialization (random variant). works almost...  
285 5464d 15h werner /src/core/ loading of the landscape. added "areaMask.imageFile" to "world" in xml file. This loads a image mask that establishes area that are inside and outside the project area respectively.  
216 5483d 22h werner /src/ created a more sophisticated management routine using javascript.  
210 5485d 04h werner /src/ class "Sun", added "site"-varaibles to the project file.  
187 5491d 14h iland /src/ wow. Ressource is correctly spelled as Resource. I jerk.  
186 5491d 20h werner /src/ management 1st version running  
157 5502d 20h werner /src/ cleaning of memory after trees died; this had some impacts on AllTreeIterator and some other places.
added a "Tests" class to combine some simple tests.
 
130 5507d 22h Werner /src/ moved debugDataTable to GlobalSettings...  
117 5513d 19h Werner /src/ new debug macros (which are compiled to NOOP in release mode)  
102 5516d 02h Werner /src/ * added a global XML-node of the project file to GlobalSettings (each setup() routine has access to that)
* loading of stamps for each species.
 

Show All