26 Commits

Author SHA1 Message Date
Julian Seward
0a19390e1d Use the bz2 test in perf/ as a regression-test, just as a moderately
complex integer program which exercises Vex a bit.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5585
2006-01-22 16:44:35 +00:00
Julian Seward
a402acd78e rm unneeded headers
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5584
2006-01-22 15:51:49 +00:00
Julian Seward
492acfafba Unbreak make dist.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5506
2006-01-09 09:30:48 +00:00
Julian Seward
32f134b8c1 Somewhat rehash the biarch-build machinery so as to (1) formalise the
distinction between primary and secondary build targets, and (2) make
it independent of the default behaviour of gcc (iow, what gcc does
when you specify neither -m32 nor -m64).

As a result, an out-of-the-box build on ppc64-linux now builds a
system which is basically for 64-bit PowerPC, but also has the ability
to run 32-bit ppc-linux binaries (exactly the same arrangement as you
get when building on amd64-linux).

There are various twists and turns.  multiple-architectures.txt is
updated all the gory details.

This will break amd64 builds until such time as
<tool>/tests/{amd64,x86}/Makefile.am are fixed up (shortly).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5493
2006-01-04 01:20:28 +00:00
Julian Seward
16d5a1e2ba In fbench, compute sin/cos/sqrt from "first principles", so that the
program more uniformly measures the speed of FP +/-/* load/store
across different architectures.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5455
2005-12-28 04:18:20 +00:00
Julian Seward
bf87ad4bb6 Attempt to make tinycc work on ppc32, by (1) getting rid of various
x86 isms in tinycc.c, (2) giving it a fixed, preprocessed input file
to chew on, and (3) just compiling to a .o with no attempt to link.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5439
2005-12-26 03:54:49 +00:00
Nicholas Nethercote
a9ed901aff add extra note about tinycc
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5436
2005-12-25 06:27:51 +00:00
Nicholas Nethercote
f1f2e4c771 Change default --reps value from 3 to 1.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5423
2005-12-23 23:08:04 +00:00
Nicholas Nethercote
20ff27ca6a Add a new performance benchmark: tinycc.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5394
2005-12-20 23:02:43 +00:00
Nicholas Nethercote
d7bd1688ca Add a malloc/free stress test.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5362
2005-12-17 00:22:39 +00:00
Nicholas Nethercote
d38a28567e Improvments to vg_perf:
- show percentage speedup over the first Valgrind when comparing multiple
  Valgrind
- don't accept --reps < 0
- avoid div-by-zero if the runtime is measured as zero



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5348
2005-12-15 17:22:37 +00:00
Julian Seward
da4b5dca48 Make this work on platforms where r != x.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5347
2005-12-15 16:11:25 +00:00
Nicholas Nethercote
49f8ec5fad Added a stress test which measures the cost of translation.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5341
2005-12-14 05:33:35 +00:00
Nicholas Nethercote
53297cb180 Ensure that f() doesn't get inlined.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5340
2005-12-14 05:33:17 +00:00
Nicholas Nethercote
b8922da7a0 Add --vg option to vg_perf, which lets you specify one or more Valgrinds
to time, and presents their timings in an easy-to-compare way.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5339
2005-12-14 02:58:23 +00:00
Nicholas Nethercote
cb30dfe2ba whoops
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5338
2005-12-13 22:00:17 +00:00
Nicholas Nethercote
9a24d17e62 Added a --reps option to control how many times each program is run.
Also added a better help message.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5336
2005-12-13 21:55:16 +00:00
Nicholas Nethercote
7de9c0e307 remove bogus whitespace
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5335
2005-12-13 21:53:39 +00:00
Nicholas Nethercote
12dde1f51d Die if a performance benchmark is missing.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5334
2005-12-13 21:44:48 +00:00
Nicholas Nethercote
7eb82ccaa9 Use user time instead of wall-clock time.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5332
2005-12-13 20:23:38 +00:00
Nicholas Nethercote
d5c8f18d4a File recording info about each performance benchmark.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5330
2005-12-13 17:20:24 +00:00
Julian Seward
c8e82f70e6 Remove nanosleep and adjust iteration count and array size accordingly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5329
2005-12-13 17:13:39 +00:00
Nicholas Nethercote
b676c5925b Abort the performance timings if any of the programs fail,
and record info in perf.{cmd,stdout,stderr} to allow diagnosis.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5328
2005-12-13 16:54:58 +00:00
Nicholas Nethercote
87def42dc3 Make sarp return zero.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5327
2005-12-13 16:38:55 +00:00
Nicholas Nethercote
689e02aae2 Add two new programs to the performance suite.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5326
2005-12-13 04:06:29 +00:00
Nicholas Nethercote
49db1b68a8 First attempt at some performance tracking tools. Includes a script vg_perf
(use "make perf" to run) that executes test programs and times their
slowdowns under various tools.  It works a lot like the vg_regtest script.
It's a bit rough around the edges -- eg. you can't currently directly
compare two different versions of Valgrind, which would be useful -- but it
is a good start.

There are currently two test programs in perf/.  More will be added as time
goes on.  This stuff will be built on so that performance changes can be
tracked over time.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5323
2005-12-10 23:11:28 +00:00