Quantcast

TIP 166: Benchmarks

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

TIP 166: Benchmarks

Simon Bachmann
After some performance tweaking on TIP 166, I ran some benchmarks - with
quite statisfying results.

To sum it up, the changed code is at least as fast as the unchanged
versions. In some cases - most notably the 'data' and 'put' commands -
tip-166 is a good deal faster.

For those who want more detail:


Test, image                    8.6.6 trunk               tip-166
=======================================================================================
-data rgb, 10k.png 3553 ms
-data rgb, 100k.png 34762 ms
-data rgb, 1m.png 367339 ms
put rgb, 10k.png              6632 ms              6602 ms (  -0.5%)    
4165 ms ( -37.2%)
put argb, 10k.png 3770 ms
put list, 10k.png 5649 ms
put rgb, 100k.png            64195 ms             64353 ms (  +0.2%)  
41543 ms ( -35.3%)
put argb, 100k.png 39049 ms
put list, 100k.png 59703 ms
put rgb, 1m.png             641378 ms            643002 ms (  +0.3%)  
418172 ms ( -34.8%)
put argb, 1m.png 400541 ms
put list, 1m.png 589690 ms
get 3, 10k.png               15195 ms             20547 ms ( +35.2%)  
16007 ms (  +5.3%)
get 4, 10k.png 17238 ms
get 3, 100k.png             148789 ms            144394 ms (  -3.0%)  
156779 ms (  +5.4%)
get 4, 100k.png 174216 ms
get 3, 1m.png              1494366 ms           1459257 ms (  -2.3%)
1656476 ms ( +10.8%)
get 4, 1m.png 1799850 ms
data rgb, 10k.png            23452 ms             23171 ms (  -1.2%)    
3254 ms ( -86.1%)
data argb, 10k.png 3945 ms
data list, 10k.png 8451 ms
data rgb, 100k.png          230471 ms            230373 ms (  -0.0%)  
31933 ms ( -86.1%)
data argb, 100k.png 38342 ms
data list, 100k.png 75629 ms
data rgb, 1m.png           2292402 ms           2394906 ms (  +4.5%)  
312995 ms ( -86.3%)
data argb, 1m.png 382974 ms
data list, 1m.png 752830 ms
transp get bool, 10k.png     15883 ms             14777 ms (  -7.0%)  
13289 ms ( -16.3%)
transp get alpha, 10k.png                                              
14341 ms
transp get bool, 100k.png   151192 ms            144748 ms (  -4.3%)  
128135 ms ( -15.3%)
transp get alpha, 100k.png                                            
141061 ms
transp get bool, 1m.png    1506851 ms           1513939 ms (  +0.5%)
1302631 ms ( -13.6%)
transp get alpha, 1m.png                                            
1436951 ms
transp set bool, 10k.png     17205 ms             16439 ms (  -4.5%)  
16633 ms (  -3.3%)
transp set alpha, 10k.png                                              
17947 ms
transp set bool, 100k.png   170112 ms            163112 ms (  -4.1%)  
161648 ms (  -5.0%)
transp set alpha, 100k.png                                            
178986 ms
transp set bool, 1m.png    1693718 ms           1623289 ms (  -4.2%)
1626043 ms (  -4.0%)
transp set alpha, 1m.png                                            
1775533 ms


Details about the tests:

-data     Pass image data at creation with the '-data' option.
Comparable to the 'put' tests.
put        Pass image data with the 'put' subcommand
get        Get the value for each pixel in the image ('get' subcommand)
data      Get the image data in the list-of-lists format ('data' subcommand)
transp get/set
              Get/set transparency information for each pixel in the image


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Tcl-Core mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/tcl-core
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: TIP 166: Benchmarks

Simon Bachmann
Am 09.04.2017 um 14:04 schrieb Simon Bachmann:

> After some performance tweaking on TIP 166, I ran some benchmarks - with
> quite statisfying results.
>
> To sum it up, the changed code is at least as fast as the unchanged
> versions. In some cases - most notably the 'data' and 'put' commands -
> tip-166 is a good deal faster.
>
> For those who want more detail:
>
>
Sorry for the botched table.

Here it is again, as an attachment.

S.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Tcl-Core mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/tcl-core

tip-166-benchmarks.txt (4K) Download Attachment
Loading...