google / caliper

Micro-benchmarking library for Java
Apache License 2.0
809 stars 109 forks source link

First-call timing instrument #120

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Much of Caliper is focused on measuring performance in long-running processes. 
I'd like for us to also support measuring startup performance.

I've got some slow code that appears to perform well on microbenchmarks. The 
internal implementation of this code looks like this:

  private static X cached;

  public static X get() {
    if (cached != null) {
      return cached;
    }
    return cached = compute();
  }

  private static X compute() { ... }

Even if I cleared the static cache, it isn't appropriate to do multiple 
measurements in one VM because I need the measurement to include class loading 
time.

I'd like an instrument that forks a VM for each measurement taken. It would 
make a single time() call and exit the forked VM.

Original issue reported on code.google.com by jessewil...@google.com on 28 Mar 2011 at 6:22

GoogleCodeExporter commented 9 years ago

Original comment by kevinb@google.com on 19 Sep 2011 at 6:28

GoogleCodeExporter commented 9 years ago

Original comment by kevinb@google.com on 8 Feb 2012 at 9:49

GoogleCodeExporter commented 9 years ago

Original comment by kevinb@google.com on 1 Nov 2012 at 8:32