WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
Bug 103463
Create Profiling Tool for Image Decoders
https://bugs.webkit.org/show_bug.cgi?id=103463
Summary
Create Profiling Tool for Image Decoders
Brent Fulgham
Reported
2012-11-27 16:10:56 PST
This bug creates a simple profiling tool to assist in investigating various proposed improvements to the image decoders.
Attachments
Patch
(40.75 KB, patch)
2012-11-27 16:23 PST
,
Brent Fulgham
no flags
Details
Formatted Diff
Diff
Patch
(19.14 KB, patch)
2012-11-27 16:43 PST
,
Brent Fulgham
no flags
Details
Formatted Diff
Diff
Patch
(15.78 KB, patch)
2012-11-27 22:19 PST
,
Brent Fulgham
no flags
Details
Formatted Diff
Diff
Patch
(33.55 KB, patch)
2012-11-28 10:37 PST
,
Brent Fulgham
no flags
Details
Formatted Diff
Diff
Patch
(28.79 KB, text/plain)
2012-11-28 10:46 PST
,
Brent Fulgham
no flags
Details
Patch
(26.29 KB, patch)
2012-11-28 10:53 PST
,
Brent Fulgham
no flags
Details
Formatted Diff
Diff
Patch
(26.49 KB, patch)
2012-11-28 12:48 PST
,
Brent Fulgham
no flags
Details
Formatted Diff
Diff
Patch
(26.60 KB, patch)
2012-11-28 14:07 PST
,
Brent Fulgham
no flags
Details
Formatted Diff
Diff
Patch
(35.54 KB, patch)
2012-11-29 11:30 PST
,
Brent Fulgham
no flags
Details
Formatted Diff
Diff
Patch
(28.27 KB, patch)
2012-11-29 12:09 PST
,
Brent Fulgham
no flags
Details
Formatted Diff
Diff
Show Obsolete
(9)
View All
Add attachment
proposed patch, testcase, etc.
Brent Fulgham
Comment 1
2012-11-27 16:23:22 PST
Created
attachment 176364
[details]
Patch
Brent Fulgham
Comment 2
2012-11-27 16:43:19 PST
Created
attachment 176369
[details]
Patch
Brent Fulgham
Comment 3
2012-11-27 16:45:11 PST
The bulk of the patch is a bunch of Windows cruft for building. This patch does not land a change to the main solution file, so no build changes are expected.
noel gordon
Comment 4
2012-11-27 19:05:13 PST
Comment on
attachment 176369
[details]
Patch Tools/ImageDecoderTest/win/ImageDecoderTest.vcproj doesn't look like a vcproj file.
Brent Fulgham
Comment 5
2012-11-27 22:19:37 PST
Created
attachment 176398
[details]
Patch
WebKit Review Bot
Comment 6
2012-11-27 22:24:17 PST
Attachment 176398
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Tools/ChangeLog', u'Tools/ImageDecoderTest..." exit_code: 1 Tools/ImageDecoderTest/ImageDecoderPerf.cpp:29: Alphabetical sorting problem. [build/include_order] [4] Tools/ImageDecoderTest/config.h:35: Alphabetical sorting problem. [build/include_order] [4] Total errors found: 2 in 6 files If any of these errors are false positives, please file a bug against check-webkit-style.
Brent Fulgham
Comment 7
2012-11-28 10:37:33 PST
Created
attachment 176515
[details]
Patch
Brent Fulgham
Comment 8
2012-11-28 10:46:30 PST
Created
attachment 176517
[details]
Patch
Brent Fulgham
Comment 9
2012-11-28 10:50:12 PST
Comment on
attachment 176517
[details]
Patch Ugh. I hate these automatic mime-type additions.
WebKit Review Bot
Comment 10
2012-11-28 10:51:33 PST
Attachment 176517
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebKit/win/ChangeLog', u'Source/Web..." exit_code: 1 Tools/ImageDecoderTest/ImageDecoderPerf.cpp:29: Alphabetical sorting problem. [build/include_order] [4] Total errors found: 1 in 16 files If any of these errors are false positives, please file a bug against check-webkit-style.
Brent Fulgham
Comment 11
2012-11-28 10:53:10 PST
Created
attachment 176522
[details]
Patch
WebKit Review Bot
Comment 12
2012-11-28 10:59:07 PST
Attachment 176522
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebKit/win/ChangeLog', u'Source/Web..." exit_code: 1 Tools/ImageDecoderTest/ImageDecoderPerf.cpp:29: Alphabetical sorting problem. [build/include_order] [4] Total errors found: 1 in 16 files If any of these errors are false positives, please file a bug against check-webkit-style.
Build Bot
Comment 13
2012-11-28 12:02:38 PST
Comment on
attachment 176522
[details]
Patch
Attachment 176522
[details]
did not pass win-ews (win): Output:
http://queues.webkit.org/results/15028510
Brent Fulgham
Comment 14
2012-11-28 12:48:15 PST
Created
attachment 176553
[details]
Patch
Brent Fulgham
Comment 15
2012-11-28 12:48:54 PST
I think the build dependencies are now correct, and I've managed to satisfy the style checker.
Build Bot
Comment 16
2012-11-28 13:26:46 PST
Comment on
attachment 176553
[details]
Patch
Attachment 176553
[details]
did not pass win-ews (win): Output:
http://queues.webkit.org/results/15029491
Brent Fulgham
Comment 17
2012-11-28 14:07:37 PST
Created
attachment 176574
[details]
Patch
Build Bot
Comment 18
2012-11-28 14:32:49 PST
Comment on
attachment 176574
[details]
Patch
Attachment 176574
[details]
did not pass win-ews (win): Output:
http://queues.webkit.org/results/15044026
Brent Fulgham
Comment 19
2012-11-29 11:30:32 PST
Created
attachment 176770
[details]
Patch
Brent Fulgham
Comment 20
2012-11-29 12:09:04 PST
Created
attachment 176779
[details]
Patch
Jussi Kukkonen (jku)
Comment 21
2012-12-20 00:59:39 PST
Hi, thanks for this. I've used it in
bug 105405
already. The results are already useful but I'm seeing some variance... mostly rare spikes in execution time: as an example 9 runs finished in 9.1-9.2 seconds each and then one run took >12 seconds (this was with 100 iterations). This sort of variance is enough to prevent real performance profiling... My first guess is IO blocking (even if I have an SSD so several seconds sounds like a lot). Would it make sense to add the timing inside the tool so the buffer loading could be discounted? Also, as an idea: if you start doing the timing in the tool you could filter any outliers (like X% furthest from the mean) in the tool, before calculating the final result. Further idea: Either output the variance as well or refuse to output a result if variance exceeds X. I guess doing either of those would only make sense after figuring out where the variance actually is. I'll see what I can do about that.
Viatcheslav Ostapenko
Comment 22
2012-12-20 09:06:21 PST
(In reply to
comment #21
)
> Hi, thanks for this. I've used it in
bug 105405
already. > > The results are already useful but I'm seeing some variance... mostly rare spikes in execution time: as an example 9 runs finished in 9.1-9.2 seconds each and then one run took >12 seconds (this was with 100 iterations). This sort of variance is enough to prevent real performance profiling... My first guess is IO blocking (even if I have an SSD so several seconds sounds like a lot). > > Would it make sense to add the timing inside the tool so the buffer loading could be discounted? > > Also, as an idea: if you start doing the timing in the tool you could filter any outliers (like X% furthest from the mean) in the tool, before calculating the final result. Further idea: Either output the variance as well or refuse to output a result if variance exceeds X. > > I guess doing either of those would only make sense after figuring out where the variance actually is. I'll see what I can do about that.
3 sec. for IO? That's too much. It would be interesting to see real/user/sys values from this run. If I run benchmark I try not to do anything in parallel on PC. Also, I used higher number of runs to minimize influence of IO and background processes. I've never seen variance bigger than 1%. qtwebkit has this repo
http://gitorious.org/qtwebkit/performance/
with a lot of useful things for benchmarking that could be borrowed, but I don't think it should go in this patch. I would submit it as it is and start making improvements on top of it.
Brent Fulgham
Comment 23
2012-12-20 09:52:05 PST
(In reply to
comment #21
)
> Hi, thanks for this. I've used it in
bug 105405
already. > > The results are already useful but I'm seeing some variance... mostly rare spikes in execution time: as an example 9 runs finished in 9.1-9.2 seconds each and then one run took >12 seconds (this was with 100 iterations). This sort of variance is enough to prevent real performance profiling... My first guess is IO blocking (even if I have an SSD so several seconds sounds like a lot). > > Would it make sense to add the timing inside the tool so the buffer loading could be discounted?
That's a good idea. I must admit that I don't use this in its raw form. I mainly use it inside of VTune to look at hotspots, so the I/O costs and so forth can easily be excluded.
Anders Carlsson
Comment 24
2014-02-05 11:03:44 PST
Comment on
attachment 176779
[details]
Patch Clearing review flag on patches from before 2014. If this patch is still relevant, please reset the r? flag.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug