示例#1
0
void benchmark(redis::client & c, int TEST_SIZE)
{
  c.flushdb();
  benchmark_set (c, TEST_SIZE);
  c.flushdb();
  benchmark_mset(c, TEST_SIZE);
  benchmark_get (c, TEST_SIZE);
  benchmark_mget(c, TEST_SIZE);
  benchmark_incr(c, TEST_SIZE);

  ///
  /// Large values
  ///
  
  string val;

  for(int i=0; i < 256; i++)
  {
    val += (char) i;
  }

  do {
    cout << endl;
    cout << "====== Value size: " << val.size() <<  " ======" << endl;
    cout << endl;

    TEST_SIZE = TEST_SIZE/1.35;
    
    c.flushdb();
    benchmark_set (c, TEST_SIZE, val);
    c.flushdb();
    benchmark_mset(c, TEST_SIZE, val);
    benchmark_get (c, TEST_SIZE);
    benchmark_mget(c, TEST_SIZE);

    val.append(val);
  } while( val.size() <= (1024*1024)*2 );
}
示例#2
0
/**--------------------------------------------------------------------------
 *  Benchmarking Functions
 *--------------------------------------------------------------------------*/
uint32_t epoll_benchmark_get (uint32_t interval)
{
    return benchmark_get(interval);
}