Commit graph

8043 commits

Author SHA1 Message Date
Paul Beckingham
a863abf2b0 CmdStats: Color only used for tty 2015-11-15 14:19:12 -05:00
Paul Beckingham
79189c448c TW-1723: task info causes segfault
- Thanks to Roman Golovin.
- Calls like 'context.columns[name]' autovivify the key 'name' with a default
  ctor value, which ends up polluting the context.columns map with every unique
  attribute name, which is a lot of 'annotation_nnnnnnnnnn' attributes.
2015-11-15 12:57:26 -05:00
Wilhelm Schuermann
fdda485032 Test: Fix clerical error
240 - 6 != 236
2015-11-12 17:52:53 +01:00
Wilhelm Schuermann
77283241a9 Nibbler: Improve getQuoted() performance
Improves "load" time for all performance tests that load data by ~20%.
 - "next"   down 15% total
 - "list"   down  7% total
 - "all"    down  3% total
 - "add"    down 15% total
 - "export" down  8% total
 - "import" down  6% total
2015-11-12 16:24:22 +01:00
Wilhelm Schuermann
96ca7eb5f2 Nibbler: Remove unused function argument 2015-11-12 13:36:23 +01:00
Wilhelm Schuermann
0961a011f4 Test: Make sorting.t test timing independent 2015-11-11 09:51:31 +01:00
Wilhelm Schuermann
ad81810fd3 FS: Fix performance on high latency systems
fseek() in File::append() was invalidating the file buffer for each call
to append().  Better handling improves "import" performance test by 9%,
45% in "commit", on a system with a spinning disk.

This performance problem affects all operations where
{pending,completed}.data are rewritten.  During normal operation a
garbage collection can be enough to trigger it.  On storage with high
latency, e.g. networked, this previously took 20 seconds and more.
2015-11-11 08:48:51 +01:00
Paul Beckingham
e6f142be17 ISO8601: Moved ::parse_epoch to occur first 2015-11-10 17:41:12 -05:00
Wilhelm Schuermann
4424c5e450 TDB2: Further gc() cleanup 2015-11-10 17:10:03 +01:00
Wilhelm Schuermann
ca9cd46f1c TW-1582: Wrong urgency for first report after reviving task
Fixed as a by-product of 6dc30a9a1a
2015-11-10 16:48:17 +01:00
Wilhelm Schuermann
5ac1b1c6dd TDB2: Remove unnecessary code
- ID assignment is now handled in TF2::load_task(), the removed code
  duplicated that effort.  Barely noticeable performance impact.
2015-11-10 16:39:37 +01:00
Wilhelm Schuermann
6dc30a9a1a TDB2: Move gc() processing to TF2::load_tasks()
Reduce the amount of copies necessary for TDB2::gc() by moving the GC
processing to the Task object source - TF2::load_tasks().

This entangles TDB2 and TF2 more than previously, but leads to huge
performance benefits:
 - "next"   performance test down 21%
 - "list"   performance test down 11%
 - "all"    performance test down  4%
 - "export" performance test down  9%

The "gc" measurement is down 96% for all performance tests.  This is a
result of moving the actual processing into TF2::load_gc() and not
measuring the time taken by that function as "gc" time.
2015-11-09 19:20:57 +01:00
Paul Beckingham
7b8df7a439 Test: Conditional compilation allows Taskserver to reuse code 2015-11-08 17:05:30 -05:00
Paul Beckingham
f15e93ccc8 Test: Updated template with more resilient test from Taskserver 2015-11-08 17:04:45 -05:00
Paul Beckingham
1407e0410e TLSClient: Added more diagnostics in debug mode 2015-11-08 17:03:35 -05:00
Paul Beckingham
9415f62482 Task: Conditional compilation allows Taskserver to reuse code 2015-11-08 17:03:05 -05:00
Paul Beckingham
0141d10d56 ISO8601: Conditional compilation allows Taskserver to reuse code 2015-11-08 17:02:02 -05:00
Paul Beckingham
560bf53f42 Performance: Script now allows overrides, for comparison 2015-11-07 20:27:09 -05:00
Paul Beckingham
53431da5d9 Docs: Updated ChangeLog 2015-11-07 17:46:40 -05:00
Daniel Shahaf
823e3d51d0 Test: Make 'make test' exit non-zero if tests failed 2015-11-07 17:45:55 -05:00
Paul Beckingham
8e778712ea TW-1313: some recurring intervals reset due time to midnight
- Thanks to James Dietrich.
2015-11-07 17:12:25 -05:00
Paul Beckingham
072acdbb18 TW-1446: Difference in how relative dates are specified in report filters since 2.3.0
- Thanks to atomicules.
2015-11-07 16:50:23 -05:00
Paul Beckingham
d506e19d93 TW-38: Dates in the far future give bad estimates in burndown
- Thanks to Ben Boeckel.
2015-11-07 15:56:36 -05:00
Paul Beckingham
743baf00cf TW-311: Estimated completion in burndown.daily shows impossible results
- Thanks to Michele Santullo.
- Although TW-311 references impossible results, there are two problems.
  First there is the algorithm that determines estimateѕ completion, and
  second there is the reference to wait dates. The algorithm has been replaced
  by something better, but wait dates have nothing to do with estimation.
- The 'burndown.bias' configuration setting is removed.
- The estimated completion is based on the net completion rate since the
  high water mark of total pending tasks, measured on a daily basis, regardless
  of the type of chart produced.
- Vim syntax updated.
- Docs updated.
2015-11-07 15:35:21 -05:00
Paul Beckingham
0b3d38b0e6 FS: Removed unnecessary include 2015-11-06 18:22:45 -05:00
Paul Beckingham
940c7a793f Portability: Fixed broken build for Cygwin and older GCC
- Thanks to Richard Boß.
2015-11-06 18:22:05 -05:00
Wilhelm Schuermann
8f8ad813cd Task: Remove std::map inheritance, clean up interface
- Make the Task object's interface more explicit by removing the
  std::map inheritance.
- Using this more explicit interface, remove unneeded ctors in order to
  allow the compiler to "Do The Right Thing"(tm).
  This leads to a performance improvement of 12% in the "add"
  performance test, and 7% for "import".
2015-11-04 20:33:52 +01:00
Paul Beckingham
c248a32cab Task: Removed unnecessary 'this->' 2015-11-04 07:00:52 -05:00
Wilhelm Schuermann
41843d77b0 TDB2: Use efficient data structures for lookup
- Leads to 1-3% improvement across all performance tests.
- _I2U could very likely be further optimized by using a sparse vector,
  or handling the edge cases of this approach ourselves.
2015-11-04 07:52:19 +01:00
Wilhelm Schuermann
80b5a584b7 Task: Reduce temporaries in composeFF4()
- Reducing temporaries leads to 3% performance increase in "import"
  performance test - 6% in "commit", 2% in "other".
2015-11-03 21:35:47 +01:00
Paul Beckingham
a2bd6d8342 Revert "Variant: Converted from sprintf to std::to_string"
This reverts commit f339672b89.
2015-11-02 18:46:36 -05:00
Paul Beckingham
2c0bb1663d Revert "Recurrence: Converted from sprintf to std::to_string"
This reverts commit b4035d6ff5.
2015-11-02 18:46:19 -05:00
Paul Beckingham
def0223afa Revert "Task: Converted to use to_string where appropriate"
This reverts commit 136f849aa8.
2015-11-02 18:45:55 -05:00
Paul Beckingham
13b6bf3312 Revert "Docs: Added gcc requirement for Cygwin"
This reverts commit abc988476d.
2015-11-02 18:44:48 -05:00
Paul Beckingham
b4b41215a2 Revert "C++11: Migrated from strtod to std::stod"
This reverts commit db49efd72f.
2015-11-02 18:44:29 -05:00
Paul Beckingham
ee40f89804 Revert "C++11: Converted from strtoimax to std::stoi"
This reverts commit 36ad7ead41.
2015-11-02 18:42:35 -05:00
Paul Beckingham
5a01fe003d Revert "Col*: Missing paren"
This reverts commit e3ea548de0.
2015-11-02 18:42:16 -05:00
Paul Beckingham
d23d0fafb7 Revert "TDB2: Converted from strtoul to std::stoul"
This reverts commit bdfd22ad88.
2015-11-02 18:41:57 -05:00
Paul Beckingham
ef3e072436 Revert "Variant: Converted from strtol/substr to std::stoi/std::compare"
This reverts commit 6df55c9156.
2015-11-02 18:41:44 -05:00
Paul Beckingham
3169490219 Revert "Context: Converted from strtol to std::stoi"
This reverts commit 8e214d1b14.
2015-11-02 18:41:33 -05:00
Paul Beckingham
a3736f6363 Revert "Dates: Converted from strtol to std::stoi"
This reverts commit d295755bb7.
2015-11-02 18:41:22 -05:00
Paul Beckingham
7d4ccb652e Revert "DOM: Concerted from strtol to std::stoul/stoi"
This reverts commit c903185481.
2015-11-02 18:41:08 -05:00
Paul Beckingham
204c95993b Revert "CLI2: Converted from strtol to std::stoi"
This reverts commit 91afa9b567.
2015-11-02 18:40:49 -05:00
Paul Beckingham
1bdede371e Revert "ISO8601: Converted from strtol to std::stoi/stoul"
This reverts commit 8205fd2446.
2015-11-02 18:40:34 -05:00
Paul Beckingham
261b062369 Revert "Task: Converted from strto* to std::sto*"
This reverts commit d9cf0fb923.
2015-11-02 18:40:20 -05:00
Paul Beckingham
9a33aa2997 Revert "sort: Converted from strtof to std::stof"
This reverts commit 8db04b8ec1.
2015-11-02 18:40:06 -05:00
Paul Beckingham
993b94c701 Revert "Recurrence: Converted from strtol to std::stoi"
This reverts commit 368df43583.
2015-11-02 18:39:55 -05:00
Paul Beckingham
5f1edbfce1 Revert "CmdEdit: Converted from strtol to std::stoi/stoul"
This reverts commit cf831a9b7c.
2015-11-02 18:39:41 -05:00
Paul Beckingham
639e04d853 Revert "CmdCalendar: Converted from strtol to std::stoul/stoi"
This reverts commit 3745f83a7b.
2015-11-02 18:39:29 -05:00
Paul Beckingham
665863809d Revert "CmdInfo: Converted from strtol to std::stoul"
This reverts commit 037514bcbf.
2015-11-02 18:39:12 -05:00