Re: [RFC] Micro Benchmarking

2009-12-21 Thread Amos Jeffries

Robert Collins wrote:

On Tue, 2009-12-22 at 16:05 +1300, Amos Jeffries wrote:


The tricky bit appears to be recovering the benchmark output and 
handling it after a run. 


If you make each thing you want to get a measurement on a separate test,
you could trivially install libcppunit-subunit-dev and use subunits
timing and reporting mechanisms; saving the stream provides a simple
persistence mechanism.

-Rob


Yes.

Thinking of subunit. could you re-base your LP branch for that update 
please?


I keep getting this: ## bzr co lp:~lifeless/squid/subunit

bzr: ERROR: Not a branch: 
"bzr+ssh://bazaar.launchpad.net/~squid/squid/squid3-trunk/".


I think kinkies muxer branch may be encountering the same problem but on 
push.


Amos
--
Please be using
  Current Stable Squid 2.7.STABLE7 or 3.0.STABLE20
  Current Beta Squid 3.1.0.15


Re: [RFC] Micro Benchmarking

2009-12-21 Thread Robert Collins
On Tue, 2009-12-22 at 16:05 +1300, Amos Jeffries wrote:
> 
> 
> The tricky bit appears to be recovering the benchmark output and 
> handling it after a run. 

If you make each thing you want to get a measurement on a separate test,
you could trivially install libcppunit-subunit-dev and use subunits
timing and reporting mechanisms; saving the stream provides a simple
persistence mechanism.

-Rob


signature.asc
Description: This is a digitally signed message part


[RFC] Micro Benchmarking

2009-12-21 Thread Amos Jeffries

I've been giving some thought to how we can do this in an automated way.

If anyone has a better way please mention it...

So far what I'm thinking is to leverage cppunit to building 
benchmark-units which output some stats about how long it took to run 
some operation/function N times.


Starting with a basic one to be designed, which can be used as a 
baseline for the CPU/machine doing the run.


The scope of these micro operations would be individual function/method 
call sequences with no async sub-steps. Such as measuring and ranking 
the raw speed of the fast ACL types, clientDB lookups, memPool 
allocate/free/garbage-collection, etc.


The tricky bit appears to be recovering the benchmark output and 
handling it after a run.


Amos
--
Please be using
  Current Stable Squid 2.7.STABLE7 or 3.0.STABLE20
  Current Beta Squid 3.1.0.15