monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] Patch to add memory size benchmarking to benchmark suit


From: Eric Anderson
Subject: [Monotone-devel] Patch to add memory size benchmarking to benchmark suite
Date: Fri, 7 Jul 2006 17:53:13 -0700

All,
        Attached is a patch that adds in a new memtime.c executable
that will "time" both the memory and CPU usage of a command, and the
update that integrates that into the new benchmark.py script.  It should
apply to 35534b3bb56f6472a23a3c99fce5aeb4e004431c of
net.venge.monotone.contrib.benchmark

I created an examples subdirectory and added an example of using the
new instrumenter since it took me a little while to work out the
syntax for that.  I also fixed a bug in not having drop_cache, and not
getting a clean error message if a command fails early on.  Finally, I
added a comment into the README file about drop_cache as it seemed to
have problems on my machine (I/O errors on the filesystem after a
number of runs).

One piece needs to be fixed, but I don't have the python expertise to
do so.  I couldn't figure out how to get the path to memtime into the
object so that it could be specified on the command line.  I suspect
for anyone that knows python this will be a 10 second exercise, but
after 5-10 minutes of trying things I gave up.

Detailed changelog follows:
        -Eric

   * Update to integrate the memtime instrumentation with the python
     code; one big glitch remains that I couldn't figure out how to 
     connect the path of memtime to the instrumenter because of a lack
     of python expertise.
   * Add in examples directory to give more samples of how to run 
     benchmarks

README: update with comment about issues on I/O error with XFS.
  Add note about more examples.
examples/memtime-1.sh: example of how to run with memtime.
Makefile: build memtime and drop_cache
memtime.c: "timing" program for both memory and cpu usage
instrumenter.py: add in a sleep after starting the sub command to make
  sure that it actually gets going and doesn't immediately fail
instrumenters.py: add in MemTimingInstrumenterObj; outstanding issue of 
  how to pass path argument through documented in code.
util.py: update to make it not try to call the cache flush stuff if it
  doesn't exist.


Attachment: add-memtime.patch
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]