Tup benchmarks

48 views
Skip to first unread message

Gaurav Dawra

unread,
Jun 11, 2022, 12:09:43 PM6/11/22
to tup-users
Hi!
And I was wondering where exactly are the scripts through which you generated these .c and .h files.
I would like to run the benchmarks myself. Thank you

Mike Shal

unread,
Jun 17, 2022, 2:13:02 PM6/17/22
to tup-...@googlegroups.com
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

--
--
tup-users mailing list
email: tup-...@googlegroups.com
unsubscribe: tup-users+...@googlegroups.com
options: http://groups.google.com/group/tup-users?hl=en
---
You received this message because you are subscribed to the Google Groups "tup-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tup-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tup-users/66b2a9ee-625d-4b39-a618-137729da4131n%40googlegroups.com.

Gaurav Dawra

unread,
Jun 20, 2022, 12:48:08 AM6/20/22
to tup-...@googlegroups.com
Hi! Thanks for the reply. Actually I was looking forward to benchmark my own build system: Beast: https://github.com/GauravDawra/Beast
I would also like to know which script generates the Makefile and Tupfile for the generated files.
Thank you once again!!

s-ol

unread,
Jun 24, 2022, 6:26:02 AM6/24/22
to tup-...@googlegroups.com
Hi Gaurav,
as Mike mentioned each test case - including the Makefile and
Tuprules.tup - is generated by gen-test-case.pl.
You can find the source here:
https://github.com/gittup/tup/blob/master/test/make_v_tup/gen-test-case.pl

- Sol
> To view this discussion on the web visit https://groups.google.com/d/msgid/tup-users/CAN_WujX0%3DbO4U4TfhogUz1mH1yoQV-19m0C43GGDE5n72hh6Og%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages