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

Issue 2091019: CPU profiler: make code events handling scalable. (Closed)

Created:
10 years, 7 months ago by mnaganov (inactive)
Modified:
9 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

CPU profiler: make code events handling scalable. I changed the implementation of a queue between the VM and processor thread to be unbounded and lock-free, using Herb Sutter's example from DDJ article: http://www.ddj.com/high-performance-computing/210604448 This had brought back profiling overhead to a minimum for the page from Chromium's issue 16184. BUG=714 Committed: http://code.google.com/p/v8/source/detail?r=4706

Patch Set 1 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+283 lines, -121 lines) Patch
M src/circular-queue.h View 1 chunk +0 lines, -26 lines 0 comments Download
M src/circular-queue-inl.h View 1 chunk +0 lines, -48 lines 0 comments Download
M src/cpu-profiler.h View 2 chunks +2 lines, -1 line 0 comments Download
M src/cpu-profiler.cc View 1 chunk +0 lines, -1 line 0 comments Download
M src/cpu-profiler-inl.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/platform.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/platform-linux.cc View 1 chunk +22 lines, -0 lines 0 comments Download
M src/platform-macos.cc View 2 chunks +7 lines, -0 lines 0 comments Download
M src/platform-win32.cc View 1 chunk +6 lines, -0 lines 0 comments Download
A src/unbound-queue.h View 1 chunk +66 lines, -0 lines 2 comments Download
A src/unbound-queue-inl.h View 1 chunk +87 lines, -0 lines 0 comments Download
M test/cctest/SConscript View 1 chunk +1 line, -0 lines 0 comments Download
M test/cctest/test-circular-queue.cc View 2 chunks +1 line, -45 lines 0 comments Download
A test/cctest/test-unbound-queue.cc View 1 chunk +54 lines, -0 lines 0 comments Download
M tools/gyp/v8.gyp View 1 chunk +2 lines, -0 lines 0 comments Download
M tools/v8.xcodeproj/project.pbxproj View 2 chunks +4 lines, -0 lines 0 comments Download
M tools/visual_studio/v8_base.vcproj View 1 chunk +8 lines, -0 lines 0 comments Download
M tools/visual_studio/v8_base_arm.vcproj View 1 chunk +8 lines, -0 lines 0 comments Download
M tools/visual_studio/v8_base_x64.vcproj View 1 chunk +8 lines, -0 lines 0 comments Download
M tools/visual_studio/v8_cctest.vcproj View 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
mnaganov (inactive)
10 years, 7 months ago (2010-05-21 05:30:06 UTC) #1
Søren Thygesen Gjesse
LGTM Nice and simple - I like it! http://codereview.chromium.org/2091019/diff/1/12 File src/unbound-queue.h (right): http://codereview.chromium.org/2091019/diff/1/12#newcode36 src/unbound-queue.h:36: // ...
10 years, 7 months ago (2010-05-21 06:44:08 UTC) #2
mnaganov (inactive)
10 years, 7 months ago (2010-05-22 05:26:44 UTC) #3
Thanks!

http://codereview.chromium.org/2091019/diff/1/12
File src/unbound-queue.h (right):

http://codereview.chromium.org/2091019/diff/1/12#newcode36
src/unbound-queue.h:36: // transferring small records between a single producer
and a single
On 2010/05/21 06:44:08, Søren Gjesse wrote:
> Maybe emphasize single.

Capitalized 'Single' -- now easier to spot.

Powered by Google App Engine
This is Rietveld 408576698