BRL-CAD

Write program comparing performance of bu_hash vs C++ map

The goal of this task is to create a simple little test program that compares the performance of BRL-CAD's hash structure (bu_hash) with a C++ STL hash or other unordered map container. Although there are usage examples all throughout the BRL-CAD codebase, you can find bu_list's API header in:

  • include/bu/list.h

You should use bu_gettime() as a stopwatch timer: e.g., int64_t start = bu_gettime(); printf("elapsed is %lf\n", bu_gettime() - start);

Compare performance adding random unique values, adding+removing(popping) random unique values, and adding+retrieving(scanning) random unique values. You can use any build system you want (e.g., CMake) or rely on direct compilation, or just provide a compile-line that will work if we assume BRL-CAD is installed.

SUBMIT your program sourcecode with instructions on how to compile and run.

Task tags

  • performance
  • testing
  • c/c++

Students who completed this task

Mahdi Dolatabadi, Lucas Prieels

Task type

  • code Code
  • done_all Quality Assurance
close

2017