Performance Testing

- Added 'performance' make target that constructs an 8,000+ task database and
  runs benchmark queries against it.
This commit is contained in:
Paul Beckingham 2013-03-11 23:44:02 -04:00
parent 9ed67f1a45
commit e3afa04e2d
5 changed files with 8600 additions and 0 deletions

View file

@ -1,4 +1,5 @@
cmake_minimum_required (VERSION 2.8)
set(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is required
include (CheckFunctionExists)
include (CheckStructHasMember)
@ -108,6 +109,9 @@ add_subdirectory (scripts)
if (EXISTS test)
add_subdirectory (test EXCLUDE_FROM_ALL)
endif (EXISTS test)
if (EXISTS performance)
add_subdirectory (performance EXCLUDE_FROM_ALL)
endif (EXISTS performance)
set (doc_FILES NEWS ChangeLog README INSTALL AUTHORS COPYING)
foreach (doc_FILE ${doc_FILES})

2
performance/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
*.data
*.rc

View file

@ -0,0 +1,6 @@
cmake_minimum_required (VERSION 2.8)
add_custom_target (performance ./run_perf
DEPENDS task_executable
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/performance)

8557
performance/load Executable file

File diff suppressed because it is too large Load diff

31
performance/run_perf Executable file
View file

@ -0,0 +1,31 @@
#! /bin/sh
echo 'Performance: setup'
echo ' - This step will take several minutes'
rm ./{pending,completed,undo}.data perf.rc
./load
# Run benchmarks.
# Note that commands are run twice - warm cache testing.
echo 'Performance: benchmarks'
echo ' - task next...'
../src/task rc.debug:1 rc:perf.rc next >/dev/null 2>&1
../src/task rc.debug:1 rc:perf.rc next 2>&1 | grep "Perf task"
echo ' - task list...'
../src/task rc.debug:1 rc:perf.rc list >/dev/null 2>&1
../src/task rc.debug:1 rc:perf.rc list 2>&1 | grep "Perf task"
echo ' - task all...'
../src/task rc.debug:1 rc:perf.rc all >/dev/null 2>&1
../src/task rc.debug:1 rc:perf.rc all 2>&1 | grep "Perf task"
echo ' - task add...'
../src/task rc.debug:1 rc:perf.rc add >/dev/null 2>&1
../src/task rc.debug:1 rc:perf.rc add This is a task with an average sized description length project:P priority:H +tag1 +tag2 2>&1 | grep "Perf task"
echo 'End'
exit 0