lib: Update v.io/x/lib/timing to a single implementation

The initial implementation of the timing package had two
implementations: a FullTimer with full timing info, and a
CompactTimer that is smaller and faster, but doesn't have full
timing info.  This is annoying for the user since they have to
make a choice, and adds complexity, and it bugged me.

This change consolidates things down to a single implementation,
and gets rid of the interfaces.  This is simpler to use for the
user.  The main point of CompactTimer was to avoid multiple small
allocations in the interval tree; the new Timer does the same
thing, while retaining full timing info.

As a bonus, the printing logic is faster, since we simply loop
through the intervals in the slice.  The printing logic for
CompactTimer was quite inefficient since it caused new
allocations for each list of children in compactInterval.

MultiPart: 2/2

Change-Id: I2fea725ccb9cd3ec0107d2d33bf1d8c32b07b452
8 files changed
tree: b6ad3537b5912f5c74a69fe899cfdbaee26fa4ae
  1. cmdline/
  2. dbutil/
  3. envvar/
  4. host/
  5. ibe/
  6. metadata/
  7. netconfig/
  8. netstate/
  9. set/
  10. textutil/
  11. timing/
  12. toposort/
  13. vlog/
  14. .gitignore
  15. .godepcop
  16. AUTHORS
  17. CONTRIBUTING.md
  18. CONTRIBUTORS
  19. LICENSE
  20. PATENTS
  21. README.md
  22. VERSION
README.md

This repository contains general purpose libraries used by the Vanadium project. TEST