Commit graph

7910 commits

Author SHA1 Message Date
Paul Beckingham
f7d0f500fc TW-1481: Unable to assign a completed task as dependency
- Thanks to Tomas Babej.
2015-11-17 13:56:40 -05:00
Paul Beckingham
253fd35dc7 TW-1425: The 'age' format rounds in odd ways
- While duration formats are still not configurable, the break points for
  formatting units is shifted to be a little more predictable.
- Thanks to Black Ops testing.
2015-11-17 07:47:20 -05:00
Paul Beckingham
ba098d790f TW-1500: Dates formatted as ".age", ".remaining", or ".countdown" often give blank results
- The 'age' column regained the ability to show negative durations.
- The 'countdown' and 'remaining' continue to show only positive values, by
  design.
- Thanks to Jeremy John Reeder.
2015-11-16 07:41:41 -05:00
Paul Beckingham
f71630a416 Themes: 'color.warning' was missing from some themes 2015-11-15 14:45:31 -05:00
Paul Beckingham
67315bf77f Docs: The 'color.warning' setting was not mentioned 2015-11-15 14:44:38 -05:00
Paul Beckingham
9e67ae0132 TW-1724: some commands show color codes when redirected
- Thanks to Alan Young.
2015-11-15 14:43:53 -05:00
Paul Beckingham
a6f8d93fe1 CmdVersion: Color only used for tty 2015-11-15 14:40:37 -05:00
Paul Beckingham
ec779bb0e8 CmdTimesheet: Color only used for tty 2015-11-15 14:39:08 -05:00
Paul Beckingham
271e28f609 CmdSync: Color only used for tty 2015-11-15 14:35:28 -05:00
Paul Beckingham
d8124d1aad CmdHistory: Color only used for tty 2015-11-15 14:31:55 -05:00
Paul Beckingham
116e5adaf2 CmdContext: Color only used for tty 2015-11-15 14:29:09 -05:00
Paul Beckingham
30a2ab8ea8 CmdShow: Color only used for tty 2015-11-15 14:24:31 -05:00
Paul Beckingham
c4f7e1a869 CmdTags: Color only used for tty 2015-11-15 14:22:18 -05:00
Paul Beckingham
9442df8342 CmdSummary: Color only used for tty 2015-11-15 14:21:55 -05:00
Paul Beckingham
802ff9df05 CmdUDAs: Color only used for tty 2015-11-15 14:21:38 -05:00
Paul Beckingham
7dc035d9ff CmdProjects: Color only used for tty 2015-11-15 14:20:43 -05:00
Paul Beckingham
9e2c6f8d47 CmdReports: Color only used for tty 2015-11-15 14:20:17 -05:00
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