Before: 157M cycles, 252M instructions, 42.93 ms
After: 136M cycles, 165M instructions, 38.34 ms
Details
- Reviewers
mwolff - Commits
- R45:39da3a97e402: Add an ID to Symbol in order to make hashing faster
perf stat -r ./bench_parser heaptrack.david.18594.gz
It still shows "365 entries, 2896 allocations"
as before (unlike whenever I introduced bugs, so this is a useful check)
Diff Detail
- Repository
- R45 Heaptrack
- Branch
- 2019_09_use_unordered_map
- Lint
No Linters Available - Unit
No Unit Test Coverage - Build Status
Buildable 16974 Build 16992: arc lint + arc unit
src/analyze/gui/locationdata.h | ||
---|---|---|
31 | quint64 or uint64_t please | |
src/analyze/gui/parser.cpp | ||
111 | I'd like to figure out why the unordered_map doesn't work and go there directly if at all possible. I don't see why it shouldn't work with that alternatively: make this a sorted std::vector and then when no match was found, insert a new item and assign m_symbols.size() as new ID |
please squash with the hash map commit
src/analyze/gui/parser.cpp | ||
---|---|---|
94–98 | this will increment even when we don't insert anything - hm probably not a problem, but I still would prefer if we would make this explicit somehow? could you at least add a comment that makes this clear? |
integrate the use of unordered_map; redo measurements so they make sense after the changing of the order of the commits