| Filename | /home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Block.pm |
| Statements | Executed 604689 statements in 11.4s |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 28552 | 2 | 2 | 2.50s | 3.04s | OCBNET::Spritesets::Block::offset (recurses: max depth 2, inclusive time 2.78s) |
| 10184 | 15 | 6 | 763ms | 1.04s | OCBNET::Spritesets::Block::outerWidth |
| 10020 | 15 | 6 | 754ms | 1.02s | OCBNET::Spritesets::Block::outerHeight |
| 4712 | 1 | 1 | 674ms | 2.13s | OCBNET::Spritesets::Block::layout |
| 40304 | 21 | 11 | 480ms | 480ms | OCBNET::Spritesets::Block::width |
| 47028 | 23 | 8 | 473ms | 473ms | OCBNET::Spritesets::Block::top |
| 44340 | 13 | 7 | 465ms | 465ms | OCBNET::Spritesets::Block::paddingLeft |
| 44164 | 13 | 7 | 454ms | 454ms | OCBNET::Spritesets::Block::paddingTop |
| 47004 | 23 | 8 | 450ms | 450ms | OCBNET::Spritesets::Block::left |
| 5096 | 2 | 2 | 425ms | 707ms | OCBNET::Spritesets::Block::new |
| 39928 | 21 | 11 | 416ms | 416ms | OCBNET::Spritesets::Block::height |
| 29560 | 8 | 4 | 299ms | 299ms | OCBNET::Spritesets::Block::paddingBottom |
| 29712 | 8 | 4 | 295ms | 295ms | OCBNET::Spritesets::Block::paddingRight |
| 4744 | 1 | 1 | 50.6ms | 50.6ms | OCBNET::Spritesets::Block::draw |
| 120 | 2 | 2 | 7.20ms | 9.56ms | OCBNET::Spritesets::Block::size |
| 1 | 1 | 1 | 83µs | 190µs | OCBNET::Spritesets::Block::BEGIN@11 |
| 1 | 1 | 1 | 52µs | 86µs | OCBNET::Spritesets::Block::BEGIN@12 |
| 0 | 0 | 0 | 0s | 0s | OCBNET::Spritesets::Block::debug |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | ################################################################################################### | ||||
| 2 | # Copyright 2013 by Marcel Greter | ||||
| 3 | # This file is part of Webmerge (GPL3) | ||||
| 4 | #################################################################################################### | ||||
| 5 | # this is the base class for all drawable items | ||||
| 6 | # it can only be drawn and not hold any children | ||||
| 7 | #################################################################################################### | ||||
| 8 | package OCBNET::Spritesets::Block; | ||||
| 9 | #################################################################################################### | ||||
| 10 | |||||
| 11 | 2 | 148µs | 2 | 296µs | # spent 190µs (83+106) within OCBNET::Spritesets::Block::BEGIN@11 which was called:
# once (83µs+106µs) by OCBNET::Spritesets::BEGIN@23 at line 11 # spent 190µs making 1 call to OCBNET::Spritesets::Block::BEGIN@11
# spent 106µs making 1 call to strict::import |
| 12 | 2 | 3.38ms | 2 | 119µs | # spent 86µs (52+33) within OCBNET::Spritesets::Block::BEGIN@12 which was called:
# once (52µs+33µs) by OCBNET::Spritesets::BEGIN@23 at line 12 # spent 86µs making 1 call to OCBNET::Spritesets::Block::BEGIN@12
# spent 33µs making 1 call to warnings::import |
| 13 | |||||
| 14 | #################################################################################################### | ||||
| 15 | |||||
| 16 | # create a new object | ||||
| 17 | # called from children | ||||
| 18 | # *************************************************************************************** | ||||
| 19 | sub new | ||||
| 20 | # spent 707ms (425+282) within OCBNET::Spritesets::Block::new which was called 5096 times, avg 139µs/call:
# 4928 times (406ms+168ms) by OCBNET::Spritesets::Sprite::new at line 27 of webmerge/scripts/modules/OCBNET/Spritesets/Sprite.pm, avg 116µs/call
# 168 times (18.4ms+115ms) by OCBNET::Spritesets::Container::new at line 77 of webmerge/scripts/modules/OCBNET/Spritesets/Container.pm, avg 791µs/call | ||||
| 21 | |||||
| 22 | # load graphic library | ||||
| 23 | 5096 | 21.6ms | require Graphics::Magick; | ||
| 24 | |||||
| 25 | # get package name and parent | ||||
| 26 | 5096 | 26.9ms | my ($pckg, $parent) = @_; | ||
| 27 | |||||
| 28 | # create hash | ||||
| 29 | 5096 | 209ms | 5096 | 171ms | my $self = { # spent 171ms making 5096 calls to Graphics::Magick::new, avg 34µs/call |
| 30 | |||||
| 31 | # position | ||||
| 32 | 'x' => 0, | ||||
| 33 | 'y' => 0, | ||||
| 34 | |||||
| 35 | # dimesion | ||||
| 36 | 'w' => 0, | ||||
| 37 | 'h' => 0, | ||||
| 38 | |||||
| 39 | # padding for the box | ||||
| 40 | 'padding-top' => 0, | ||||
| 41 | 'padding-right' => 0, | ||||
| 42 | 'padding-bottom' => 0, | ||||
| 43 | 'padding-left' => 0, | ||||
| 44 | |||||
| 45 | # the parent block node | ||||
| 46 | 'parent' => $parent, | ||||
| 47 | |||||
| 48 | # create an empty image | ||||
| 49 | # 'image' => new Image::Magick | ||||
| 50 | 'image' => new Graphics::Magick | ||||
| 51 | |||||
| 52 | }; | ||||
| 53 | |||||
| 54 | # bless into passed package | ||||
| 55 | 5096 | 112ms | return bless $self, $pckg; | ||
| 56 | |||||
| 57 | } | ||||
| 58 | # EO constructor | ||||
| 59 | |||||
| 60 | #################################################################################################### | ||||
| 61 | # getter and setter methods | ||||
| 62 | #################################################################################################### | ||||
| 63 | |||||
| 64 | # position of the block relative to the parent | ||||
| 65 | # *************************************************************************************** | ||||
| 66 | 47004 | 1.11s | # spent 450ms within OCBNET::Spritesets::Block::left which was called 47004 times, avg 10µs/call:
# 28552 times (257ms+0s) by OCBNET::Spritesets::Block::offset at line 101, avg 9µs/call
# 8552 times (97.2ms+0s) by OCBNET::Spritesets::Sprite::offset at line 214 of webmerge/scripts/modules/OCBNET/Spritesets/Sprite.pm, avg 11µs/call
# 4744 times (46.6ms+0s) by OCBNET::Spritesets::Container::draw at line 230 of webmerge/scripts/modules/OCBNET/Spritesets/Container.pm, avg 10µs/call
# 4276 times (40.0ms+0s) by OCBNET::Spritesets::Fit::layout at line 54 of webmerge/scripts/modules/OCBNET/Spritesets/Fit.pm, avg 9µs/call
# 436 times (4.45ms+0s) by OCBNET::Spritesets::Stack::layout at line 138 of webmerge/scripts/modules/OCBNET/Spritesets/Stack.pm, avg 10µs/call
# 120 times (1.18ms+0s) by OCBNET::Spritesets::Stack::layout at line 160 of webmerge/scripts/modules/OCBNET/Spritesets/Stack.pm, avg 10µs/call
# 108 times (1.32ms+0s) by OCBNET::Spritesets::Canvas::draw at line 203 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas.pm, avg 12µs/call
# 32 times (350µs+0s) by OCBNET::Spritesets::Corner::layout at line 73 of webmerge/scripts/modules/OCBNET/Spritesets/Corner.pm, avg 11µs/call
# 16 times (162µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 389 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (159µs+0s) by OCBNET::Spritesets::Canvas::new at line 63 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas.pm, avg 13µs/call
# 12 times (152µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 366 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 13µs/call
# 12 times (137µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 324 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 11µs/call
# 12 times (121µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 372 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (119µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 370 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (118µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 368 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (118µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 328 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (117µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 326 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (115µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 339 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (115µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 347 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (113µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 338 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 9µs/call
# 12 times (112µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 330 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 9µs/call
# 12 times (112µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 340 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 9µs/call
# 12 times (112µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 348 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 9µs/call | ||
| 67 | 47028 | 1.05s | # spent 473ms within OCBNET::Spritesets::Block::top which was called 47028 times, avg 10µs/call:
# 28552 times (275ms+0s) by OCBNET::Spritesets::Block::offset at line 102, avg 10µs/call
# 8552 times (91.7ms+0s) by OCBNET::Spritesets::Sprite::offset at line 215 of webmerge/scripts/modules/OCBNET/Spritesets/Sprite.pm, avg 11µs/call
# 4744 times (55.0ms+0s) by OCBNET::Spritesets::Container::draw at line 230 of webmerge/scripts/modules/OCBNET/Spritesets/Container.pm, avg 12µs/call
# 4276 times (42.2ms+0s) by OCBNET::Spritesets::Fit::layout at line 53 of webmerge/scripts/modules/OCBNET/Spritesets/Fit.pm, avg 10µs/call
# 436 times (4.39ms+0s) by OCBNET::Spritesets::Stack::layout at line 139 of webmerge/scripts/modules/OCBNET/Spritesets/Stack.pm, avg 10µs/call
# 144 times (1.47ms+0s) by OCBNET::Spritesets::Stack::layout at line 169 of webmerge/scripts/modules/OCBNET/Spritesets/Stack.pm, avg 10µs/call
# 108 times (1.21ms+0s) by OCBNET::Spritesets::Canvas::draw at line 203 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas.pm, avg 11µs/call
# 32 times (331µs+0s) by OCBNET::Spritesets::Corner::layout at line 74 of webmerge/scripts/modules/OCBNET/Spritesets/Corner.pm, avg 10µs/call
# 16 times (154µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 393 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (142µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 323 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 12µs/call
# 12 times (138µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 365 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 11µs/call
# 12 times (128µs+0s) by OCBNET::Spritesets::Canvas::new at line 63 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas.pm, avg 11µs/call
# 12 times (118µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 371 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (118µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 369 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (117µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 327 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (116µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 367 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (115µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 325 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (114µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 329 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (114µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 336 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (113µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 335 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 9µs/call
# 12 times (112µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 345 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 9µs/call
# 12 times (111µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 337 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 9µs/call
# 12 times (110µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 346 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 9µs/call | ||
| 68 | |||||
| 69 | # dimension of the block | ||||
| 70 | # *************************************************************************************** | ||||
| 71 | 40304 | 1.01s | # spent 480ms within OCBNET::Spritesets::Block::width which was called 40304 times, avg 12µs/call:
# 10184 times (88.6ms+0s) by OCBNET::Spritesets::Block::outerWidth at line 87, avg 9µs/call
# 5372 times (56.1ms+0s) by OCBNET::Spritesets::Sprite::new at line 124 of webmerge/scripts/modules/OCBNET/Spritesets/Sprite.pm, avg 10µs/call
# 4928 times (95.4ms+0s) by OCBNET::Spritesets::Sprite::new at line 110 of webmerge/scripts/modules/OCBNET/Spritesets/Sprite.pm, avg 19µs/call
# 4928 times (68.1ms+0s) by OCBNET::Spritesets::CSS::Parser::process at line 511 of webmerge/scripts/modules/OCBNET/Spritesets/CSS/Parser.pm, avg 14µs/call
# 4712 times (54.6ms+0s) by OCBNET::Spritesets::Canvas::Repeater::repeater at line 63 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Repeater.pm, avg 12µs/call
# 4496 times (55.4ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 88 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 12µs/call
# 4344 times (43.6ms+0s) by OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 111)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 125)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 139)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 153)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 167)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 181)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 195)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 41)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 55)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 69)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 83)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 97)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] at line 1 of (eval 41)[webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115], avg 10µs/call
# 240 times (3.57ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 83 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 15µs/call
# 168 times (2.80ms+0s) by OCBNET::Spritesets::Canvas::Repeater::repeater at line 268 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Repeater.pm, avg 17µs/call
# 168 times (2.54ms+0s) by OCBNET::Spritesets::Canvas::Repeater::repeater at line 229 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Repeater.pm, avg 15µs/call
# 168 times (2.15ms+0s) by OCBNET::Spritesets::Canvas::Repeater::repeater at line 121 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Repeater.pm, avg 13µs/call
# 120 times (1.13ms+0s) by OCBNET::Spritesets::Block::size at line 83, avg 9µs/call
# 108 times (1.56ms+0s) by OCBNET::Spritesets::Canvas::draw at line 184 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas.pm, avg 14µs/call
# 108 times (1.34ms+0s) by OCBNET::Spritesets::Canvas::Repeater::repeater at line 42 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Repeater.pm, avg 12µs/call
# 96 times (1.05ms+0s) by OCBNET::Spritesets::Stack::layout at line 150 of webmerge/scripts/modules/OCBNET/Spritesets/Stack.pm, avg 11µs/call
# 64 times (679µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 131 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 11µs/call
# 32 times (325µs+0s) by OCBNET::Spritesets::Corner::layout at line 77 of webmerge/scripts/modules/OCBNET/Spritesets/Corner.pm, avg 10µs/call
# 32 times (313µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 389 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (190µs+0s) by OCBNET::Spritesets::Canvas::new at line 66 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas.pm, avg 16µs/call
# 12 times (187µs+0s) by OCBNET::Spritesets::Fit::layout at line 41 of webmerge/scripts/modules/OCBNET/Spritesets/Fit.pm, avg 16µs/call
# 12 times (123µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 352 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call | ||
| 72 | 39928 | 961ms | # spent 416ms within OCBNET::Spritesets::Block::height which was called 39928 times, avg 10µs/call:
# 10020 times (82.3ms+0s) by OCBNET::Spritesets::Block::outerHeight at line 88, avg 8µs/call
# 5372 times (53.0ms+0s) by OCBNET::Spritesets::Sprite::new at line 133 of webmerge/scripts/modules/OCBNET/Spritesets/Sprite.pm, avg 10µs/call
# 4928 times (61.6ms+0s) by OCBNET::Spritesets::CSS::Parser::process at line 512 of webmerge/scripts/modules/OCBNET/Spritesets/CSS/Parser.pm, avg 12µs/call
# 4928 times (60.8ms+0s) by OCBNET::Spritesets::Sprite::new at line 111 of webmerge/scripts/modules/OCBNET/Spritesets/Sprite.pm, avg 12µs/call
# 4712 times (49.0ms+0s) by OCBNET::Spritesets::Canvas::Repeater::repeater at line 64 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Repeater.pm, avg 10µs/call
# 4496 times (50.8ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 104 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 11µs/call
# 4132 times (41.0ms+0s) by OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 111)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 125)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 139)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 153)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 167)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 181)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 195)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 41)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 55)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 69)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 83)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 97)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] at line 1 of (eval 41)[webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115], avg 10µs/call
# 240 times (3.13ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 99 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 13µs/call
# 168 times (2.81ms+0s) by OCBNET::Spritesets::Canvas::Repeater::repeater at line 164 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Repeater.pm, avg 17µs/call
# 168 times (2.73ms+0s) by OCBNET::Spritesets::Canvas::Repeater::repeater at line 125 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Repeater.pm, avg 16µs/call
# 168 times (2.15ms+0s) by OCBNET::Spritesets::Canvas::Repeater::repeater at line 225 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Repeater.pm, avg 13µs/call
# 120 times (1.22ms+0s) by OCBNET::Spritesets::Block::size at line 83, avg 10µs/call
# 108 times (1.29ms+0s) by OCBNET::Spritesets::Canvas::draw at line 185 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas.pm, avg 12µs/call
# 108 times (1.24ms+0s) by OCBNET::Spritesets::Canvas::Repeater::repeater at line 43 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Repeater.pm, avg 12µs/call
# 96 times (976µs+0s) by OCBNET::Spritesets::Stack::layout at line 151 of webmerge/scripts/modules/OCBNET/Spritesets/Stack.pm, avg 10µs/call
# 64 times (676µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 145 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 11µs/call
# 32 times (317µs+0s) by OCBNET::Spritesets::Corner::layout at line 78 of webmerge/scripts/modules/OCBNET/Spritesets/Corner.pm, avg 10µs/call
# 32 times (309µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 393 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call
# 12 times (144µs+0s) by OCBNET::Spritesets::Fit::layout at line 42 of webmerge/scripts/modules/OCBNET/Spritesets/Fit.pm, avg 12µs/call
# 12 times (132µs+0s) by OCBNET::Spritesets::Canvas::new at line 66 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas.pm, avg 11µs/call
# 12 times (116µs+0s) by OCBNET::Spritesets::Canvas::Layout::layout at line 353 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 10µs/call | ||
| 73 | |||||
| 74 | # paddings for all four sides of the box | ||||
| 75 | # *************************************************************************************** | ||||
| 76 | 44164 | 1.02s | # spent 454ms within OCBNET::Spritesets::Block::paddingTop which was called 44164 times, avg 10µs/call:
# 10020 times (93.0ms+0s) by OCBNET::Spritesets::Block::outerHeight at line 88, avg 9µs/call
# 4928 times (51.2ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 114 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 10µs/call
# 4928 times (50.6ms+0s) by OCBNET::Spritesets::Canvas::Optimize::finalize at line 168 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 10µs/call
# 4928 times (48.8ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 121 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 10µs/call
# 4744 times (48.2ms+0s) by OCBNET::Spritesets::Container::draw at line 230 of webmerge/scripts/modules/OCBNET/Spritesets/Container.pm, avg 10µs/call
# 4736 times (56.5ms+0s) by OCBNET::Spritesets::CSS::Parser::process at line 515 of webmerge/scripts/modules/OCBNET/Spritesets/CSS/Parser.pm, avg 12µs/call
# 4712 times (47.4ms+0s) by OCBNET::Spritesets::Canvas::Repeater::repeater at line 71 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Repeater.pm, avg 10µs/call
# 4496 times (51.6ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 102 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 11µs/call
# 240 times (2.89ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 99 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 12µs/call
# 240 times (2.38ms+0s) by OCBNET::Spritesets::Canvas::Optimize::finalize at line 164 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 10µs/call
# 96 times (960µs+0s) by OCBNET::Spritesets::Block::layout at line 143, avg 10µs/call
# 80 times (825µs+0s) by OCBNET::Spritesets::Stack::layout at line 93 of webmerge/scripts/modules/OCBNET/Spritesets/Stack.pm, avg 10µs/call
# 16 times (198µs+0s) by OCBNET::Spritesets::Corner::layout at line 67 of webmerge/scripts/modules/OCBNET/Spritesets/Corner.pm, avg 12µs/call | ||
| 77 | 44340 | 885ms | # spent 465ms within OCBNET::Spritesets::Block::paddingLeft which was called 44340 times, avg 10µs/call:
# 10184 times (96.1ms+0s) by OCBNET::Spritesets::Block::outerWidth at line 87, avg 9µs/call
# 4928 times (50.4ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 115 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 10µs/call
# 4928 times (50.2ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 122 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 10µs/call
# 4928 times (50.1ms+0s) by OCBNET::Spritesets::Canvas::Optimize::finalize at line 169 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 10µs/call
# 4744 times (47.3ms+0s) by OCBNET::Spritesets::Container::draw at line 230 of webmerge/scripts/modules/OCBNET/Spritesets/Container.pm, avg 10µs/call
# 4736 times (56.5ms+0s) by OCBNET::Spritesets::CSS::Parser::process at line 516 of webmerge/scripts/modules/OCBNET/Spritesets/CSS/Parser.pm, avg 12µs/call
# 4712 times (51.2ms+0s) by OCBNET::Spritesets::Canvas::Repeater::repeater at line 70 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Repeater.pm, avg 11µs/call
# 4496 times (55.0ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 86 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 12µs/call
# 240 times (3.10ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 83 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 13µs/call
# 240 times (2.43ms+0s) by OCBNET::Spritesets::Canvas::Optimize::finalize at line 159 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 10µs/call
# 96 times (989µs+0s) by OCBNET::Spritesets::Block::layout at line 141, avg 10µs/call
# 92 times (948µs+0s) by OCBNET::Spritesets::Stack::layout at line 76 of webmerge/scripts/modules/OCBNET/Spritesets/Stack.pm, avg 10µs/call
# 16 times (236µs+0s) by OCBNET::Spritesets::Corner::layout at line 68 of webmerge/scripts/modules/OCBNET/Spritesets/Corner.pm, avg 15µs/call | ||
| 78 | 29712 | 742ms | # spent 295ms within OCBNET::Spritesets::Block::paddingRight which was called 29712 times, avg 10µs/call:
# 10184 times (93.7ms+0s) by OCBNET::Spritesets::Block::outerWidth at line 87, avg 9µs/call
# 4948 times (49.2ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 123 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 10µs/call
# 4928 times (50.0ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 116 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 10µs/call
# 4928 times (49.2ms+0s) by OCBNET::Spritesets::Canvas::Optimize::finalize at line 171 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 10µs/call
# 4496 times (50.7ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 88 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 11µs/call
# 116 times (1.21ms+0s) by OCBNET::Spritesets::Stack::layout at line 70 of webmerge/scripts/modules/OCBNET/Spritesets/Stack.pm, avg 10µs/call
# 96 times (955µs+0s) by OCBNET::Spritesets::Block::layout at line 142, avg 10µs/call
# 16 times (162µs+0s) by OCBNET::Spritesets::Corner::layout at line 69 of webmerge/scripts/modules/OCBNET/Spritesets/Corner.pm, avg 10µs/call | ||
| 79 | 29560 | 749ms | # spent 299ms within OCBNET::Spritesets::Block::paddingBottom which was called 29560 times, avg 10µs/call:
# 10020 times (93.6ms+0s) by OCBNET::Spritesets::Block::outerHeight at line 88, avg 9µs/call
# 4948 times (50.0ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 124 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 10µs/call
# 4928 times (51.1ms+0s) by OCBNET::Spritesets::Canvas::Optimize::finalize at line 172 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 10µs/call
# 4928 times (50.6ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 117 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 10µs/call
# 4496 times (50.7ms+0s) by OCBNET::Spritesets::Canvas::Optimize::optimize at line 104 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm, avg 11µs/call
# 128 times (1.38ms+0s) by OCBNET::Spritesets::Stack::layout at line 87 of webmerge/scripts/modules/OCBNET/Spritesets/Stack.pm, avg 11µs/call
# 96 times (991µs+0s) by OCBNET::Spritesets::Block::layout at line 144, avg 10µs/call
# 16 times (199µs+0s) by OCBNET::Spritesets::Corner::layout at line 70 of webmerge/scripts/modules/OCBNET/Spritesets/Corner.pm, avg 12µs/call | ||
| 80 | |||||
| 81 | # getter for combined results (used for graphicsmagick options) | ||||
| 82 | # *************************************************************************************** | ||||
| 83 | 120 | 5.72ms | 240 | 2.36ms | # spent 9.56ms (7.20+2.36) within OCBNET::Spritesets::Block::size which was called 120 times, avg 80µs/call:
# 108 times (6.51ms+2.12ms) by OCBNET::Spritesets::Container::draw at line 212 of webmerge/scripts/modules/OCBNET/Spritesets/Container.pm, avg 80µs/call
# 12 times (694µs+239µs) by OCBNET::Spritesets::Canvas::draw at line 172 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas.pm, avg 78µs/call # spent 1.22ms making 120 calls to OCBNET::Spritesets::Block::height, avg 10µs/call
# spent 1.13ms making 120 calls to OCBNET::Spritesets::Block::width, avg 9µs/call |
| 84 | |||||
| 85 | # getter for outer dimensions (dimension plus padding from both sides of the box) | ||||
| 86 | # *************************************************************************************** | ||||
| 87 | 10184 | 466ms | 30552 | 278ms | # spent 1.04s (763ms+278ms) within OCBNET::Spritesets::Block::outerWidth which was called 10184 times, avg 102µs/call:
# 4712 times (334ms+123ms) by OCBNET::Spritesets::Block::layout at line 147, avg 97µs/call
# 4344 times (366ms+125ms) by OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 111)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 125)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 139)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 153)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 167)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 181)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 195)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 41)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 55)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 69)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 83)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 97)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] at line 1 of (eval 41)[webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115], avg 113µs/call
# 436 times (23.8ms+11.5ms) by OCBNET::Spritesets::Stack::layout at line 115 of webmerge/scripts/modules/OCBNET/Spritesets/Stack.pm, avg 81µs/call
# 240 times (12.7ms+6.21ms) by OCBNET::Spritesets::Stack::layout at line 160 of webmerge/scripts/modules/OCBNET/Spritesets/Stack.pm, avg 79µs/call
# 168 times (11.0ms+5.15ms) by OCBNET::Spritesets::Canvas::Repeater::repeater at line 91 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Repeater.pm, avg 96µs/call
# 48 times (2.89ms+1.34ms) by OCBNET::Spritesets::Canvas::Layout::layout at line 233 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 88µs/call
# 48 times (2.52ms+1.23ms) by OCBNET::Spritesets::Canvas::Layout::layout at line 274 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 78µs/call
# 36 times (1.96ms+940µs) by OCBNET::Spritesets::Canvas::Layout::layout at line 250 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 81µs/call
# 32 times (1.84ms+859µs) by OCBNET::Spritesets::Corner::layout at line 77 of webmerge/scripts/modules/OCBNET/Spritesets/Corner.pm, avg 84µs/call
# 24 times (1.34ms+619µs) by OCBNET::Spritesets::Canvas::Layout::layout at line 366 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 82µs/call
# 24 times (1.28ms+652µs) by OCBNET::Spritesets::Canvas::Layout::layout at line 372 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 80µs/call
# 24 times (1.31ms+618µs) by OCBNET::Spritesets::Canvas::Layout::layout at line 368 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 80µs/call
# 24 times (1.29ms+631µs) by OCBNET::Spritesets::Canvas::Layout::layout at line 370 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 80µs/call
# 12 times (642µs+310µs) by OCBNET::Spritesets::Canvas::Layout::layout at line 264 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 79µs/call
# 12 times (636µs+310µs) by OCBNET::Spritesets::Canvas::Layout::layout at line 266 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 79µs/call # spent 96.1ms making 10184 calls to OCBNET::Spritesets::Block::paddingLeft, avg 9µs/call
# spent 93.7ms making 10184 calls to OCBNET::Spritesets::Block::paddingRight, avg 9µs/call
# spent 88.6ms making 10184 calls to OCBNET::Spritesets::Block::width, avg 9µs/call |
| 88 | 10020 | 555ms | 30060 | 269ms | # spent 1.02s (754ms+269ms) within OCBNET::Spritesets::Block::outerHeight which was called 10020 times, avg 102µs/call:
# 4712 times (300ms+121ms) by OCBNET::Spritesets::Block::layout at line 148, avg 89µs/call
# 4132 times (369ms+117ms) by OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 111)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 125)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 139)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 153)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 167)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 181)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 195)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 41)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 55)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 69)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 83)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] or OCBNET::Spritesets::Canvas::Distribute::__ANON__[(eval 97)[/home/ocbnet/domain/ocbnet.ch/vhost/webmerge/htdocs/webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115]:1] at line 1 of (eval 41)[webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm:115], avg 117µs/call
# 436 times (23.5ms+11.3ms) by OCBNET::Spritesets::Stack::layout at line 116 of webmerge/scripts/modules/OCBNET/Spritesets/Stack.pm, avg 80µs/call
# 288 times (15.3ms+7.45ms) by OCBNET::Spritesets::Stack::layout at line 169 of webmerge/scripts/modules/OCBNET/Spritesets/Stack.pm, avg 79µs/call
# 168 times (11.1ms+5.32ms) by OCBNET::Spritesets::Canvas::Repeater::repeater at line 195 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Repeater.pm, avg 98µs/call
# 48 times (2.77ms+1.30ms) by OCBNET::Spritesets::Canvas::Layout::layout at line 240 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 85µs/call
# 48 times (2.52ms+1.26ms) by OCBNET::Spritesets::Canvas::Layout::layout at line 281 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 79µs/call
# 36 times (1.94ms+967µs) by OCBNET::Spritesets::Canvas::Layout::layout at line 255 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 81µs/call
# 32 times (1.81ms+861µs) by OCBNET::Spritesets::Corner::layout at line 78 of webmerge/scripts/modules/OCBNET/Spritesets/Corner.pm, avg 83µs/call
# 24 times (21.8ms+653µs) by OCBNET::Spritesets::Canvas::Layout::layout at line 365 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 934µs/call
# 24 times (1.27ms+646µs) by OCBNET::Spritesets::Canvas::Layout::layout at line 371 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 80µs/call
# 24 times (1.27ms+636µs) by OCBNET::Spritesets::Canvas::Layout::layout at line 369 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 80µs/call
# 24 times (1.28ms+618µs) by OCBNET::Spritesets::Canvas::Layout::layout at line 367 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 79µs/call
# 12 times (690µs+325µs) by OCBNET::Spritesets::Canvas::Layout::layout at line 267 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 85µs/call
# 12 times (676µs+308µs) by OCBNET::Spritesets::Canvas::Layout::layout at line 265 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm, avg 82µs/call # spent 93.6ms making 10020 calls to OCBNET::Spritesets::Block::paddingBottom, avg 9µs/call
# spent 93.0ms making 10020 calls to OCBNET::Spritesets::Block::paddingTop, avg 9µs/call
# spent 82.3ms making 10020 calls to OCBNET::Spritesets::Block::height, avg 8µs/call |
| 89 | |||||
| 90 | #################################################################################################### | ||||
| 91 | |||||
| 92 | # return offset from root | ||||
| 93 | # *************************************************************************************** | ||||
| 94 | sub offset | ||||
| 95 | # spent 3.04s (2.50+532ms) within OCBNET::Spritesets::Block::offset which was called 28552 times, avg 106µs/call:
# 18912 times (1.62s+-1.62s) by OCBNET::Spritesets::Block::offset at line 112, avg 0s/call
# 9640 times (881ms+2.16s) by OCBNET::Spritesets::Sprite::offset at line 218 of webmerge/scripts/modules/OCBNET/Spritesets/Sprite.pm, avg 315µs/call | ||||
| 96 | |||||
| 97 | # get instance | ||||
| 98 | 28552 | 69.9ms | my ($self) = @_; | ||
| 99 | |||||
| 100 | # get local offset | ||||
| 101 | 28552 | 271ms | 28552 | 257ms | my $left = $self->left; # spent 257ms making 28552 calls to OCBNET::Spritesets::Block::left, avg 9µs/call |
| 102 | 28552 | 295ms | 28552 | 275ms | my $top = $self->top; # spent 275ms making 28552 calls to OCBNET::Spritesets::Block::top, avg 10µs/call |
| 103 | |||||
| 104 | # check if block has a parent | ||||
| 105 | # if so add parent offset too | ||||
| 106 | 28552 | 93.8ms | if ($self->{'parent'}) | ||
| 107 | { | ||||
| 108 | # get offset to root from parent | ||||
| 109 | # this will call offset recursively | ||||
| 110 | # since we don't have deep structures normally | ||||
| 111 | # it is ok, but convert it to a loop otherwise | ||||
| 112 | 18912 | 225ms | 18912 | 0s | my $offset = $self->{'parent'}->offset(); # spent 2.78s making 18912 calls to OCBNET::Spritesets::Block::offset, avg 147µs/call, recursion: max depth 2, sum of overlapping time 2.78s |
| 113 | # sum up the total offset for both axes | ||||
| 114 | 37824 | 162ms | $left += $offset->{'x'}; $top += $offset->{'y'}; | ||
| 115 | } | ||||
| 116 | # EO if parent | ||||
| 117 | |||||
| 118 | # return point | ||||
| 119 | return { | ||||
| 120 | 28552 | 760ms | 'x' => $left, | ||
| 121 | 'y' => $top | ||||
| 122 | }; | ||||
| 123 | |||||
| 124 | } | ||||
| 125 | # EO sub getPosition | ||||
| 126 | |||||
| 127 | #################################################################################################### | ||||
| 128 | # event handler for layout | ||||
| 129 | #################################################################################################### | ||||
| 130 | |||||
| 131 | # set width and height to the outer dimension | ||||
| 132 | # these values are mainly needed by the packer | ||||
| 133 | sub layout | ||||
| 134 | # spent 2.13s (674ms+1.45) within OCBNET::Spritesets::Block::layout which was called 4712 times, avg 451µs/call:
# 4712 times (674ms+1.45s) by OCBNET::Spritesets::Container::layout at line 151 of webmerge/scripts/modules/OCBNET/Spritesets/Container.pm, avg 451µs/call | ||||
| 135 | |||||
| 136 | # get instance | ||||
| 137 | 4712 | 12.1ms | my ($self) = @_; | ||
| 138 | |||||
| 139 | # padding does not make any sense if the | ||||
| 140 | # block is aligned to the opposite side | ||||
| 141 | 4712 | 40.9ms | 4808 | 134ms | $self->paddingLeft = 0 if $self->alignRight; # spent 133ms making 4712 calls to OCBNET::Spritesets::Sprite::alignRight, avg 28µs/call
# spent 989µs making 96 calls to OCBNET::Spritesets::Block::paddingLeft, avg 10µs/call |
| 142 | 4712 | 46.3ms | 4808 | 146ms | $self->paddingRight = 0 if $self->alignRight; # spent 145ms making 4712 calls to OCBNET::Spritesets::Sprite::alignRight, avg 31µs/call
# spent 955µs making 96 calls to OCBNET::Spritesets::Block::paddingRight, avg 10µs/call |
| 143 | 4712 | 46.7ms | 4808 | 150ms | $self->paddingTop = 0 if $self->alignBottom; # spent 149ms making 4712 calls to OCBNET::Spritesets::Sprite::alignBottom, avg 32µs/call
# spent 960µs making 96 calls to OCBNET::Spritesets::Block::paddingTop, avg 10µs/call |
| 144 | 4712 | 46.2ms | 4808 | 144ms | $self->paddingBottom = 0 if $self->alignBottom; # spent 143ms making 4712 calls to OCBNET::Spritesets::Sprite::alignBottom, avg 30µs/call
# spent 991µs making 96 calls to OCBNET::Spritesets::Block::paddingBottom, avg 10µs/call |
| 145 | |||||
| 146 | # set the values for the outer dimension | ||||
| 147 | 4712 | 55.7ms | 4712 | 457ms | $self->{'width'} = $self->outerWidth; # spent 457ms making 4712 calls to OCBNET::Spritesets::Block::outerWidth, avg 97µs/call |
| 148 | 4712 | 55.1ms | 4712 | 420ms | $self->{'height'} = $self->outerHeight; # spent 420ms making 4712 calls to OCBNET::Spritesets::Block::outerHeight, avg 89µs/call |
| 149 | |||||
| 150 | # return instance | ||||
| 151 | 4712 | 91.7ms | return $self; | ||
| 152 | |||||
| 153 | } | ||||
| 154 | # EO sub layout | ||||
| 155 | |||||
| 156 | #################################################################################################### | ||||
| 157 | # event handler for drawing | ||||
| 158 | #################################################################################################### | ||||
| 159 | |||||
| 160 | # just returns the image instance | ||||
| 161 | 4744 | 164ms | # spent 50.6ms within OCBNET::Spritesets::Block::draw which was called 4744 times, avg 11µs/call:
# 4744 times (50.6ms+0s) by OCBNET::Spritesets::Container::draw at line 230 of webmerge/scripts/modules/OCBNET/Spritesets/Container.pm, avg 11µs/call | ||
| 162 | |||||
| 163 | #################################################################################################### | ||||
| 164 | # debug code returns text | ||||
| 165 | #################################################################################################### | ||||
| 166 | |||||
| 167 | sub debug | ||||
| 168 | { | ||||
| 169 | |||||
| 170 | # get our object | ||||
| 171 | my ($self) = @_; | ||||
| 172 | |||||
| 173 | # get absolute position from root | ||||
| 174 | my $offset = $self->offset(); | ||||
| 175 | |||||
| 176 | # debug position | ||||
| 177 | return sprintf( | ||||
| 178 | 'POS: %s/%s (%sx%s) [%s,%s,%s,%s@%s/%s] => %s/%s', | ||||
| 179 | $self->left, $self->top, | ||||
| 180 | $self->width, $self->height, | ||||
| 181 | $self->paddingTop, $self->paddingRight, | ||||
| 182 | $self->paddingBottom, $self->paddingLeft, | ||||
| 183 | $self->scaleX, $self->scaleY, | ||||
| 184 | $offset->{'x'}, $offset->{'y'}, | ||||
| 185 | ); | ||||
| 186 | |||||
| 187 | } | ||||
| 188 | # EO sub debug | ||||
| 189 | |||||
| 190 | #################################################################################################### | ||||
| 191 | #################################################################################################### | ||||
| 192 | 1 | 12µs | 1; |