Performance test problem

I’m doing some performance tests. I’ve a quite complicated proof macro and I try to excecute it with different number of workers. The problem is that when I execute the script for the second time the processing time is 50 time faster than the first time. Between the first and the second execution I quit the ROOT session. Maybe there is a cache or something that helps. How can I be sure that caching mechanism are disabled?

Hi,
If you are reading small data sample you are probably experiencing file system RAM caching.
There is not much that you can do against, except reading new data all the time.
Under linux you can try to free the cache using ‘posix_fadvise’: for each file

  int fd = open(filename, O_RDONLY);
  fdatasync(fd);
  posix_fadvise(fd, 0,0,POSIX_FADV_DONTNEED);
  close(fd);

Gerri

[quote=“ganis”]Hi,
If you are reading small data sample you are probably experiencing file system RAM caching.
There is not much that you can do against, except reading new data all the time.
Under linux you can try to free the cache using ‘posix_fadvise’: for each file

  int fd = open(filename, O_RDONLY);
  fdatasync(fd);
  posix_fadvise(fd, 0,0,POSIX_FADV_DONTNEED);
  close(fd);

Gerri[/quote]

I will try, but I think it’s not the problem because the whole dataset is about 60 Gb

And do you read it all?
I mean, how much does the PROOF dialog says that the job read?

G

[quote=“ganis”]And do you read it all?
I mean, how much does the PROOF dialog says that the job read?

G[/quote]

Yes, you are right, I’m disabling a lot of branches, so the real quantity of data readen is 500Mb

Ok, so try to use posix_fadvise and let me know.
You should recover the slow performance … :wink:

Gerri

[quote=“ganis”]Ok, so try to use posix_fadvise and let me know.
You should recover the slow performance … :wink:

Gerri[/quote]

ok thanks, it works, thank you