Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(717)

Issue 6904127: ll_prof: Reduce profiling hooks overhead from >400% to 25%. (Closed)

Created:
9 years, 7 months ago by Vitaly Repeshko
Modified:
9 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

ll_prof: Reduce profiling hooks overhead from >400% to 25%. Switched to using binary low-level log instead of the textual log used by the ticks processor. The binary log contains code-related events, code object names, and their bodies. When writing to the log we ask glibc to use a larger buffer. To avoid complex processing of the snapshot log (which is still textual) the serializer emits final snapshot position to code name mappings that can be quickly be read without replaying the snapshot log. (This might be useful for the ticks processor.) Committed: http://code.google.com/p/v8/source/detail?r=7729

Patch Set 1 #

Total comments: 4

Patch Set 2 : Review fixes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+554 lines, -165 lines) Patch
M src/isolate.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M src/log.h View 1 5 chunks +31 lines, -4 lines 0 comments Download
M src/log.cc View 1 22 chunks +368 lines, -35 lines 0 comments Download
M src/log-utils.h View 1 chunk +2 lines, -2 lines 0 comments Download
M src/log-utils.cc View 6 chunks +18 lines, -13 lines 0 comments Download
M src/utils.h View 1 chunk +6 lines, -0 lines 0 comments Download
M tools/ll_prof.py View 1 12 chunks +128 lines, -110 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Vitaly Repeshko
9 years, 7 months ago (2011-04-29 13:55:10 UTC) #1
mnaganov (inactive)
LGTM with comments http://codereview.chromium.org/6904127/diff/1/src/log.cc File src/log.cc (right): http://codereview.chromium.org/6904127/diff/1/src/log.cc#newcode1098 src/log.cc:1098: HashMap::Entry* entry = address_to_name_map_->Lookup( This code ...
9 years, 7 months ago (2011-04-29 14:20:28 UTC) #2
Vitaly Repeshko
9 years, 7 months ago (2011-04-29 15:50:39 UTC) #3
Thanks for quick review!

http://codereview.chromium.org/6904127/diff/1/src/log.cc
File src/log.cc (right):

http://codereview.chromium.org/6904127/diff/1/src/log.cc#newcode1098
src/log.cc:1098: HashMap::Entry* entry = address_to_name_map_->Lookup(
On 2011/04/29 14:20:28, Mikhail Naganov (Chromium) wrote:
> This code is repeated several times. Worth extracting into a function? Or even
> better -- wrap the hashmap into a class.

Created a class. It's +20 lines overall, but the code is hopefully more
readable.

http://codereview.chromium.org/6904127/diff/1/src/utils.h
File src/utils.h (right):

http://codereview.chromium.org/6904127/diff/1/src/utils.h#newcode254
src/utils.h:254: static inline uint32_t ComputePointerHash(void* ptr) {
On 2011/04/29 14:20:28, Mikhail Naganov (Chromium) wrote:
> As we intend to deal with Addresses, maybe it's a good idea to use an Address
> type here?

Don't think so --- it'll require casting from everything that is not byte*.

Powered by Google App Engine
This is Rietveld 408576698