Runtime.getRuntime().gc();
System.out.println(" free : "+(Runtime.getRuntime().freeMemory()/1000000)+" total : "+(Runtime.getRuntime().totalMemory()/1000000));
// clustering
long time = System.currentTimeMillis();
ThreadedKMeans km = new ThreadedKMeans(instances, nbCluster, 5000, Runtime.getRuntime().availableProcessors());
System.out.println("getting clusters...");
double[][] centers = km.getCenters();
double[] sigma = km.getMeanDistance();
int[] pop = km.getPopulationInCluster();
System.out.println("done ("+(System.currentTimeMillis()-time)+").");
System.out.println("Non empty clusters : "+centers.length);
try