Closed
Bug 1143860
Opened 11 years ago
Closed 11 years ago
Deduplicate tracked optimizations in JSON
Categories
(Core :: Gecko Profiler, defect)
Tracking
()
RESOLVED
FIXED
mozilla39
| Tracking | Status | |
|---|---|---|
| firefox39 | --- | fixed |
People
(Reporter: shu, Unassigned)
References
Details
Attachments
(2 files)
|
3.04 KB,
patch
|
djvj
:
review+
|
Details | Diff | Splinter Review |
|
14.59 KB,
patch
|
djvj
:
review+
|
Details | Diff | Splinter Review |
Right now, tracked optimizations are streamed as part of the frame they're attached to. This results in a lot of duplicates and a big JSON for JS-heavy programs (tried on octane).
They should be deduplicated.
| Reporter | ||
Comment 1•11 years ago
|
||
Attachment #8578251 -
Flags: review?(kvijayan)
| Reporter | ||
Comment 2•11 years ago
|
||
Attachment #8578253 -
Flags: review?(kvijayan)
Updated•11 years ago
|
Attachment #8578251 -
Flags: review?(kvijayan) → review+
Comment 3•11 years ago
|
||
Comment on attachment 8578253 [details] [diff] [review]
Deduplicate tracked optimizations when streaming the profile.
Review of attachment 8578253 [details] [diff] [review]:
-----------------------------------------------------------------
::: tools/profiler/ProfileEntry.h
@@ +90,5 @@
> + bool operator<(const OptimizationKey& other) const;
> + };
> +
> + mozilla::Vector<OptimizationKey> mOpts;
> + std::map<OptimizationKey, unsigned> mOptToIndexMap;
unordered_map (formerly hash_map) might be a better option here since we don't really care about ordering, just using the map to implement a cache.
Attachment #8578253 -
Flags: review?(kvijayan) → review+
| Reporter | ||
Comment 4•11 years ago
|
||
(In reply to Kannan Vijayan [:djvj] from comment #3)
> Comment on attachment 8578253 [details] [diff] [review]
> Deduplicate tracked optimizations when streaming the profile.
>
> Review of attachment 8578253 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> ::: tools/profiler/ProfileEntry.h
> @@ +90,5 @@
> > + bool operator<(const OptimizationKey& other) const;
> > + };
> > +
> > + mozilla::Vector<OptimizationKey> mOpts;
> > + std::map<OptimizationKey, unsigned> mOptToIndexMap;
>
> unordered_map (formerly hash_map) might be a better option here since we
> don't really care about ordering, just using the map to implement a cache.
I was told unordered_map isn't in enough places yet for us to use it.
Comment 5•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/1b0a6e932bfb
https://hg.mozilla.org/mozilla-central/rev/44c06482dc74
Status: NEW → RESOLVED
Closed: 11 years ago
status-firefox39:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
You need to log in
before you can comment on or make changes to this bug.
Description
•