From 9e02e42ff6757da1c96518a24c913a01250564ee Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Tue, 21 Oct 2008 00:05:45 +0000 Subject: add the bench file for the RandomSetter --- bench/sparse_randomsetter.cpp | 104 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 bench/sparse_randomsetter.cpp (limited to 'bench/sparse_randomsetter.cpp') diff --git a/bench/sparse_randomsetter.cpp b/bench/sparse_randomsetter.cpp new file mode 100644 index 000000000..7868e177a --- /dev/null +++ b/bench/sparse_randomsetter.cpp @@ -0,0 +1,104 @@ + +#define NOGMM +#define NOMTL + +#include +#include +#include +#include + +#ifndef SIZE +#define SIZE 10000 +#endif + +#ifndef DENSITY +#define DENSITY 0.01 +#endif + +#ifndef REPEAT +#define REPEAT 1 +#endif + +#include "BenchSparseUtil.h" + +#ifndef MINDENSITY +#define MINDENSITY 0.0004 +#endif + +#ifndef NBTRIES +#define NBTRIES 10 +#endif + +#define BENCH(X) \ + timer.reset(); \ + for (int _j=0; _j(0,rows-1) + ei_random(0,cols-1); + t.stop(); + double rtime = t.value(); + std::cout << "rtime = " << rtime << " (" << dummy << ")\n\n"; + const int Bits = 6; + for (;;) + { + { + RandomSetter set1(sm1); + t.reset(); t.start(); + for (int k=0; k(0,rows-1),ei_random(0,cols-1)) += 1; + t.stop(); + std::cout << "std::map => \t" << t.value()-rtime + << " nnz=" << set1.nonZeros() << "\n";getchar(); + } + { + RandomSetter set1(sm1); + t.reset(); t.start(); + for (int k=0; k(0,rows-1),ei_random(0,cols-1)) += 1; + t.stop(); + std::cout << "gnu::hash_map => \t" << t.value()-rtime + << " nnz=" << set1.nonZeros() << "\n";getchar(); + } + { + RandomSetter set1(sm1); + t.reset(); t.start(); + for (int k=0; k(0,rows-1),ei_random(0,cols-1)) += 1; + t.stop(); + std::cout << "google::dense => \t" << t.value()-rtime + << " nnz=" << set1.nonZeros() << "\n";getchar(); + } + { + RandomSetter set1(sm1); + t.reset(); t.start(); + for (int k=0; k(0,rows-1),ei_random(0,cols-1)) += 1; + t.stop(); + std::cout << "google::sparse => \t" << t.value()-rtime + << " nnz=" << set1.nonZeros() << "\n";getchar(); + } + std::cout << "\n\n"; + } + + return 0; +} + -- cgit v1.2.3