Hi Gaurav,
The scripts are in the tup repository under test/make_v_tup/. You can generate the data with:
$ ./run-tests.sh
This runs a comparison across sizes from 1-100,000 in multiples of 10. (The 100k test case takes a long time to run, so you might want to edit run-tests.sh to only go up to 10k at first). The output is all saved in files labeled out-N.txt, where N is the number of files in the test case (so ./run-tests.sh will appear to do nothing for a long time.)
Internally that runs run-test.sh ("test", not "tests" like above), which is where it gets times for the initial build, changing a .c file, changing a .h file, and a no-op build. Another file,
gen-test-case.pl, is where it creates the dummy project structure, which consists of N .c and .h files. Each .c file includes 7 .h files (so 0.c includes 0.h, 1.h, ... 6.h), and then all the .o files get linked into a final program.
After you have the out-N.txt files, you can generate a graph with
results.pl:
(If you removed the 100k case from run-tests.sh, you'll also need to remove the 100k value from the array in
results.pl)
Now you should have several plot-*.dat files. You can convert these into a PNG with the 'plot' script:
$ ./plot plot-c_file.dat > c_file.png
Note the graphs on the webpage were generated with a now very old version of tup (like 2009 or so). You might get very different results today - report back with what you discover!
-Mike