1. 31 Jan, 2016 1 commit
  2. 15 Jan, 2016 1 commit
  3. 10 Nov, 2015 1 commit
  4. 30 Sep, 2015 2 commits
    • Gavin Andresen's avatar
      Support very-fast-running benchmarks · 67c3e0e1
      Gavin Andresen authored
      Avoid calling gettimeofday every time through the benchmarking loop, by keeping
      track of how long each loop takes and doubling the number of iterations done
      between time checks when they take less than 1/16'th of the total elapsed time.
      67c3e0e1
    • Gavin Andresen's avatar
      Simple benchmarking framework · 37113135
      Gavin Andresen authored
      Benchmarking framework, loosely based on google's micro-benchmarking
      library (https://github.com/google/benchmark)
      
      Wny not use the Google Benchmark framework? Because adding Even More Dependencies
      isn't worth it. If we get a dozen or three benchmarks and need nanosecond-accurate
      timings of threaded code then switching to the full-blown Google Benchmark library
      should be considered.
      
      The benchmark framework is hard-coded to run each benchmark for one wall-clock second,
      and then spits out .csv-format timing information to stdout. It is left as an
      exercise for later (or maybe never) to add command-line arguments to specify which
      benchmark(s) to run, how long to run them for, how to format results, etc etc etc.
      Again, see the Google Benchmark framework for where that might end up.
      
      See src/bench/MilliSleep.cpp for a sanity-test benchmark that just benchmarks
      'sleep 100 milliseconds.'
      
      To compile and run benchmarks:
        cd src; make bench
      
      Sample output:
      
      Benchmark,count,min,max,average
      Sleep100ms,10,0.101854,0.105059,0.103881
      37113135