commit | 66c10814eaf9b007e335f3fccb5e2621d5f8b292 | [log] [tgz] |
---|---|---|
author | Todd Wang <toddw@google.com> | Thu Oct 22 22:24:57 2015 -0700 |
committer | Todd Wang <toddw@google.com> | Thu Oct 22 22:24:57 2015 -0700 |
tree | b6ad3537b5912f5c74a69fe899cfdbaee26fa4ae | |
parent | c29a7a7580c525332460df5043fcb1f4a524cad2 [diff] |
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
This repository contains general purpose libraries used by the Vanadium project. TEST