java - How to test memory used considering garbage collector? -


i testing sorting algorithm, , test average used memory testing 1000 random vectors. problem when run 20 random vector inside loop, garbage collector run , lose calculation. should please? don't want test manual 1 one =x.

for(int j = 0; j < 1000; j++) {     int vetoriginal[] = generate();      for(int = 0; < 10; i++)     {         int vetparateste[] = vetoriginal.clone();         long memoriainicial = runtime.getruntime().freememory() / 1024;         mergesort(vetparateste);         somamemoriakb += memoriainicial - runtime.getruntime().freememory()/1024;     } } system.out.println("average memory used: " + somamemoriakb / (1000* 10)); 

ok, i'm little late here , have solved now, in case else wants know, easiest way prevent gc cleaning object keep reference in object. every object create add sort of container array/hash/vector/list or whatever language supports. eg:

var items array[0..numberofitems]  (var = 0; < numberofitems; i++) {     var vector = createvector()     items[i] = vector; } 

the container add overhead need measure first subtract amount final output. example:

var basememory = measurememory() var numberofitems = 1000  // create array of known size (eg 1000 bytes) var arrayofknownsize array[0..numberofitems]  (var = 0; < numberofitems; i++)     arrayofknownsize[i] = int32(0xff)  // calculate size occupied data ... var expectedmemory = sizeof(int32) * numberofitems   // ... subtract total memory usage , overhead  var arrayoverhead = measurememory() - basememory - expectedmemory  // measure memory used array of vectors basememory = measurememory() var vectors array[0..numberofitems]  (var = 0; < numberofitems; i++) {     var vector = createvector()     vectors[i] = vector; }  // subtract array overhead memory usage var usedmemory = measurememory() - basememory - arrayoverhead var averagememory = usedmemory / numberofitems 

you same measurements did, inserting each vector array , subtract arrayoverhead memory usage final result.


Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -