]> git.llucax.com Git - software/dgc/dgcbench.git/log
software/dgc/dgcbench.git
14 years agoAdd a simple script to generate Dil arguments to parse Tango
Leandro Lucarella [Sun, 14 Nov 2010 21:57:56 +0000 (18:57 -0300)]
Add a simple script to generate Dil arguments to parse Tango

Generating the Tango docs using Dil involves a lot of arguments passing to
Dil, so adding this trivial script simplifies a lot doing that. Just run:

dil `./dil-args.sh`

14 years agoAdd a helper script to improve accuracy when benchmarking
Leandro Lucarella [Sun, 14 Nov 2010 21:52:44 +0000 (18:52 -0300)]
Add a helper script to improve accuracy when benchmarking

This script put the CPU in 'performance' mode to avoid distortion in the
results because of CPU frequency changes. It also gives the process
maximum CPU time and I/O priority using nice and ionice respectively.
Finally, it only uses the number of CPUs specifiend in the CPUS
environment variable to run the program.

The scripts is used like this:

CPUS=2 ./bench.sh some_prog --some-args

This runs "some_prog" passing "--some-args" as arguments, using 2 CPUs.

14 years agostats.py: Allow specifying input expression and output format
Leandro Lucarella [Sun, 14 Nov 2010 21:46:12 +0000 (18:46 -0300)]
stats.py: Allow specifying input expression and output format

Now the script can take an arbitrary (optional) expression as the first
argument to parse the input file, using a separator (taken as the third
argument) and field specification for the expression, using $1 for the
first field, $2 for the second, etc. (similar to AWK). As second argument
the script takes the output format, in Python format specification, with
keys: min, max, mean, and std.

The defaults are '$1' for the first argument (expression to parse as
input), '%(min)s,%(mean)s,%(max)s,%(std)s' as output format and ',' as
input separator. This defaults match the old behaviour.

14 years agoUpdate micro benchmarks
Leandro Lucarella [Sun, 14 Nov 2010 03:39:16 +0000 (00:39 -0300)]
Update micro benchmarks

Remove some micro benchmarks that provided no added value, rename others
to have shorter names and add a few; some Olden benchmarks and a couple
of benchmarks to exercise concurrency.

14 years agoCollect micro benchmarks run time statistics
Leandro Lucarella [Sun, 11 Jul 2010 14:42:37 +0000 (11:42 -0300)]
Collect micro benchmarks run time statistics

Run the micro benchmarks several times to collect timing statistics. Only
the total run time is collected (in CSV format) and then the minimum,
mean, maximum and standard deviation are calculated based on the collected
values.

Add arguments to some micro benchmarks that needed them too.

14 years agoUpdate to work with current state of the project
Leandro Lucarella [Tue, 6 Jul 2010 00:43:56 +0000 (21:43 -0300)]
Update to work with current state of the project

The naive collector is now gone, there are no statistics collection, etc.

The object files and binaries are generated in separate directories now.
The statistics graph generation is still there but not working, only
building the benchmarks works, including dil, which is added as a
submodule for simplicity (and keeping track of working version).

14 years agomicro/voronoi: Be really quiet when -v is not used
Leandro Lucarella [Sun, 11 Jul 2010 02:52:49 +0000 (23:52 -0300)]
micro/voronoi: Be really quiet when -v is not used

14 years agoRemove startup micro benchmark
Leandro Lucarella [Sun, 11 Jul 2010 03:09:22 +0000 (00:09 -0300)]
Remove startup micro benchmark

There very little work to do at initialization time, and it's not really
an interesting area to improve.

14 years agomicro: Change constants to do a some more processing
Leandro Lucarella [Mon, 5 Jul 2010 23:12:46 +0000 (20:12 -0300)]
micro: Change constants to do a some more processing

This will make measures more meaningful.

14 years agoAdd voroni micro benchmark
Leandro Lucarella [Thu, 17 Jun 2010 00:08:02 +0000 (21:08 -0300)]
Add voroni micro benchmark

14 years agoAdd multicore contention micro benchmark
Leandro Lucarella [Thu, 17 Jun 2010 00:07:31 +0000 (21:07 -0300)]
Add multicore contention micro benchmark

15 years agoImprove collection space graph
Leandro Lucarella [Sat, 3 Oct 2009 18:48:53 +0000 (15:48 -0300)]
Improve collection space graph

The graph is now splat in two, reversing the y axis of the second graph
(after collection), so the tics labels are now properly displayed as
positive numbers.

15 years agoAdd other GCs build directories to .gitignore
Leandro Lucarella [Sat, 19 Sep 2009 20:58:28 +0000 (17:58 -0300)]
Add other GCs build directories to .gitignore

15 years agoWIP: Add dil to the benchmark
Leandro Lucarella [Sat, 19 Sep 2009 20:57:25 +0000 (17:57 -0300)]
WIP: Add dil to the benchmark

15 years agornd_data_2.d: Fix out of bounds error
Leandro Lucarella [Sat, 19 Sep 2009 20:57:01 +0000 (17:57 -0300)]
rnd_data_2.d: Fix out of bounds error

15 years agoUse the alternative linker only for DMD
Leandro Lucarella [Sat, 19 Sep 2009 20:55:34 +0000 (17:55 -0300)]
Use the alternative linker only for DMD

15 years agoFix detection of GOLD linker
Leandro Lucarella [Sat, 19 Sep 2009 20:55:14 +0000 (17:55 -0300)]
Fix detection of GOLD linker

15 years agoTell the programs to collect statistics
Leandro Lucarella [Sat, 19 Sep 2009 20:51:31 +0000 (17:51 -0300)]
Tell the programs to collect statistics

Pass the environment variable D_GC_STATS=1 to programs when running them
to tell them to collect GC statistics, just in case the collector don't
do it by default and understand the meaning of the environment variable.

15 years agoImprove makefile organization
Leandro Lucarella [Sat, 19 Sep 2009 20:49:56 +0000 (17:49 -0300)]
Improve makefile organization

Group common and micro-benchmarks rules together.

15 years agoAlways link against tango-user library
Leandro Lucarella [Sat, 19 Sep 2009 20:43:34 +0000 (17:43 -0300)]
Always link against tango-user library

15 years agoMove Makefile to the top-level directory
Leandro Lucarella [Thu, 27 Aug 2009 18:08:22 +0000 (15:08 -0300)]
Move Makefile to the top-level directory

This is to prepare the terrain to add real programs benchmarks, like Dil.

15 years agomicro: Remove ".c" suffix from plotted files
Leandro Lucarella [Thu, 27 Aug 2009 00:20:27 +0000 (21:20 -0300)]
micro: Remove ".c" suffix from plotted files

Originally a ".c" suffix was used to mark files as being related to
*C*ollections. But since both collections and allocations statistics are
now plotted in the same file, there is no point in that distinction (which,
OTOH, is wrong too).

15 years agomicro: Plot allocation statistics (time, space and histogram)
Leandro Lucarella [Thu, 27 Aug 2009 00:15:14 +0000 (21:15 -0300)]
micro: Plot allocation statistics (time, space and histogram)

The allocation statistics are plotted in the same graph where the
collections are plotted using the same program run time axe (where
possible) to easy comparisons and analysis.

15 years agomicro/shootout_binarytrees.d: Remove output
Leandro Lucarella [Thu, 27 Aug 2009 00:11:30 +0000 (21:11 -0300)]
micro/shootout_binarytrees.d: Remove output

All output was commented anyways, so importing tango.io.Stdout would only
need to some unneeded "startup-time" allocations.

15 years agomicro: Add a script to generate histogram tics
Leandro Lucarella [Thu, 27 Aug 2009 00:09:09 +0000 (21:09 -0300)]
micro: Add a script to generate histogram tics

There is no way to take histogram tics labels from a data file in GNUPlot.
A new script is added to generate the histogram tics labels from the data,
suitable to be included directly in a GNUPlot script.

15 years agomicro: Improve generation of data to plot the histogram
Leandro Lucarella [Thu, 27 Aug 2009 00:06:17 +0000 (21:06 -0300)]
micro: Improve generation of data to plot the histogram

If a program allocates a lot of cell with different  sizes the histogram
would have a lot of  bars to plot, making it very hard to read.

The script to generate the histogram data is improved to take a maximum
number of cell sizes. If that limit is passed, the cell sizes are grouped
together in ranges of cell sizes, keeping the histogram readable.

15 years agomicro/split.d: Take the file to split from the command line
Leandro Lucarella [Sun, 23 Aug 2009 20:01:23 +0000 (17:01 -0300)]
micro/split.d: Take the file to split from the command line

The Makefile is adapted to make possible to pass arguments to an arbitrary
benchmark program.

15 years agomicro: Remove unneeded copy in Makefile
Leandro Lucarella [Sat, 22 Aug 2009 22:48:14 +0000 (19:48 -0300)]
micro: Remove unneeded copy in Makefile

The bible.txt file doesn't have to be copied to $(BIN_DIR) because the
program is executed from the same directory where bible.txt is.

15 years agomicro: Let Make figure out .INTERMEDIATE rules
Leandro Lucarella [Sat, 22 Aug 2009 22:46:05 +0000 (19:46 -0300)]
micro: Let Make figure out .INTERMEDIATE rules

15 years agomicro: Generate data to plot an allocation histogram
Leandro Lucarella [Sat, 22 Aug 2009 20:40:33 +0000 (17:40 -0300)]
micro: Generate data to plot an allocation histogram

The newly generated %.h.csv files has how many allocations has been
requested for each object (cell) size. A histogram will be plotted based
on this data in the future.

15 years agomicro: Move stats files (CSV) to its own directory
Leandro Lucarella [Sat, 22 Aug 2009 20:38:08 +0000 (17:38 -0300)]
micro: Move stats files (CSV) to its own directory

amend a plot

15 years agomicro/rnd_data_2.d: Add a comment about expected memory usage
Leandro Lucarella [Sat, 22 Aug 2009 20:32:34 +0000 (17:32 -0300)]
micro/rnd_data_2.d: Add a comment about expected memory usage

15 years agomicro/rnd_data_2.d: Group constants to easily tune the benchmark
Leandro Lucarella [Sat, 22 Aug 2009 20:31:46 +0000 (17:31 -0300)]
micro/rnd_data_2.d: Group constants to easily tune the benchmark

15 years agomicro/rnd_data_2.d: Don't disable the GC
Leandro Lucarella [Sat, 22 Aug 2009 20:30:28 +0000 (17:30 -0300)]
micro/rnd_data_2.d: Don't disable the GC

Disabling the GC for the filling up the array of arrays just improves the
performance, but has no point in the what the benchmark is trying to test.

15 years agoDon't use a base build directory
Leandro Lucarella [Sat, 22 Aug 2009 20:28:30 +0000 (17:28 -0300)]
Don't use a base build directory

15 years agoAdd some micro-benchmarks to plot GC statistics
Leandro Lucarella [Tue, 18 Aug 2009 01:25:12 +0000 (22:25 -0300)]
Add some micro-benchmarks to plot GC statistics