opencog/opencog — pull request #560 by cosmoharrigan (2014-03-05 10:28:42+00:00)
Title: AtomSpace benchmarking module with concurrency options

Runs a performance benchmark on the AtomSpace by creating a fully connected
graph with bidirectional directed edges (requires n^2 - n edges) with specified
concurrency arguments.

Having an integrated benchmark that you can load from the CogServer shell is
useful because it allows you to measure the performance impact of additional
modules that are added to the system and to measure various configuration
scenarios.

- Invoked from the CogServer shell. Syntax:

```
benchmark-fully-connected OPTION COUNT THREADS
```

where OPTION is 'single', 'concurrent', or 'reset', COUNT is an integer number
of nodes, and THREADS is an integer number of threads.

- The 'single' option will run synchronously using std::for_each.
- The 'concurrent' option will use a multithreaded version of for_each from the GNU libstdc++ parallel mode OpenMP library
- The 'reset' option will delete all the ConceptNodes in the AtomSpace along with their incoming sets.

For details, see the README