linbox
Data Structures | Namespaces | Functions
benchmark.h File Reference

Common header to ease benchmarking routines. More...

#include "linbox/linbox-config.h"
#include <stdlib.h>
#include "linbox/integer.h"
#include "linbox/util/debug.h"
#include "tests/test-common.h"
#include "linbox/util/timer.h"
#include <string>
#include <fstream>
#include <iomanip>
#include <sys/utsname.h>
#include <ctime>
#include "benchmark-utils.h"
#include "benchmark-metadata.h"
#include "benchmarks/benchmark.inl"

Data Structures

class  TimeWatcher
 Helper. More...
 
struct  DataSeries
 this structure holds a bunch of timings. More...
 
class  PlotStyle
 Represents a table of values to plot (2D). More...
 
struct  PlotStyle::Term
 What format the plot should be in? More...
 
struct  PlotStyle::Plot
 What style of graphic : histogram ? graph ? More...
 
struct  Point::Labels
 x More...
 
struct  Point::Values
 y More...
 
struct  Point::Points
 numerical value for x More...
 
struct  Point::Times
 y time More...
 
class  PlotData
 The raw data to plot. More...
 
class  PlotGraph
 The graph (2D). More...
 

Namespaces

 LinBox
 Namespace in which all linbox code resides.
 

Functions

double fit2 (const dvector_t &X, const dvector_t &Y, int n, double x)
 fit X[n-1,n],Y[n-1,n] and return evaluation at x.
 
double fit3 (const dvector_t &X, const dvector_t &Y, int n, double x)
 fit X[n-2,n],Y[n-2,n] and return evaluation at x.
 

Detailed Description

Common header to ease benchmarking routines.

We provide a class to easily populate and plot files that represent benchmarks.

We use gnuplot for the plotting part or LaTeX to provide tables. A minimum knowledge of Gnuplot is a plus but the benchmark-* files should provide enough examples for creating standard (not too fancy) plots.

We fall back to plain latex tabulars when gnuplot is not available. We plot graphs in files whose name is extended by a random 8-char string to avoid écraser files.