- Corrected performance measurement. The TDB2::gc requires data to
be loaded first, but load time is measured separately. This resulted
in repeat counting. Now the gc time subtracts any load time that is
accumulated *during* the gc. This is now a fair accounting of the time.
- Added support for more type-specific checks of attribute values.
- Added support for more type-specific attribute rendering.
- Improved generalized methods for checking columns in a report.
- Added unit tests.
- Minor code cleanup.
- Added secret hidden feature for internal testing.
- Change the was performance measurements are taken. This in preparation
to automated daily perf charts, leading to efforts to speed up certain
operations.
- Fixed Timer class to use a fixed precision, that for some reason,
does not work on Haiku. Put a conditional compile around it for
now - perhaps later Haiku alpha releases will change things?
- Added benchmark2.t, which enables high-resolution timers for a
single 'list' command, with 10, 100 and 1000 task databases. Then
it emits readily-found and parsed data for charts.
- Eliminated obsolete benchmark data for hardware I no longer own.
- Added Timer class to display high resolution timing information.
- Found terrible bug in Table::optimize that was taking up 99.7%,
on average, of the Table::rendering time, including sorting. This
fix naturally causes a 187-fold speedup of rendering.
- Changed report.cpp in handleCustomReport to only load pending tasks,
instead of all pending tasks. Subtle, but important difference.