------------------ With try/otherwise in Web::Page::expand():

====== Comparison:
                             Rate no-cache-template memory-cache-template local-cache-template memcached-cache-template no-cache-path memory-cache-path local-cache-path memcached-cache-path
no-cache-template        119131/s                --                   -4%                  -5%                      -5%          -72%              -75%             -75%                 -75%
memory-cache-template    124104/s                4%                    --                  -1%                      -1%          -71%              -74%             -74%                 -74%
local-cache-template     125136/s                5%                    1%                   --                      -0%          -70%              -74%             -74%                 -74%
memcached-cache-template 125284/s                5%                    1%                   0%                       --          -70%              -74%             -74%                 -74%
no-cache-path            421561/s              254%                  240%                 237%                     236%            --              -13%             -13%                 -13%
memory-cache-path        482402/s              305%                  289%                 286%                     285%           14%                --              -0%                  -1%
local-cache-path         482403/s              305%                  289%                 286%                     285%           14%                0%               --                  -1%
memcached-cache-path     485893/s              308%                  292%                 288%                     288%           15%                1%               1%                   --

------------------ With the old code, no error checking in Web::Page::expand():

====== Comparison:
                             Rate no-cache-template memory-cache-template memcached-cache-template local-cache-template no-cache-path memcached-cache-path memory-cache-path local-cache-path
no-cache-template        122370/s                --                   -2%                      -2%                  -2%          -73%                 -74%              -74%             -75%
memory-cache-template    124399/s                2%                    --                      -0%                  -0%          -72%                 -74%              -74%             -74%
memcached-cache-template 124695/s                2%                    0%                       --                  -0%          -72%                 -74%              -74%             -74%
local-cache-template     124841/s                2%                    0%                       0%                   --          -72%                 -74%              -74%             -74%
no-cache-path            450782/s              268%                  262%                     262%                 261%            --                  -4%               -5%              -6%
memcached-cache-path     471118/s              285%                  279%                     278%                 277%            5%                   --               -1%              -2%
memory-cache-path        476020/s              289%                  283%                     282%                 281%            6%                   1%                --              -1%
local-cache-path         481440/s              293%                  287%                     286%                 286%            7%                   2%                1%               --

------------------ With eval{} in Web::Page::expand():

====== Comparison:
                             Rate no-cache-template local-cache-template memcached-cache-template memory-cache-template no-cache-path memcached-cache-path local-cache-path memory-cache-path
no-cache-template        123957/s                --                  -1%                      -1%                   -2%          -73%                 -75%             -75%              -75%
local-cache-template     125018/s                1%                   --                      -0%                   -2%          -73%                 -75%             -75%              -75%
memcached-cache-template 125604/s                1%                   0%                       --                   -1%          -73%                 -74%             -74%              -75%
memory-cache-template    126944/s                2%                   2%                       1%                    --          -73%                 -74%             -74%              -74%
no-cache-path            463158/s              274%                 270%                     269%                  265%            --                  -6%              -6%               -6%
memcached-cache-path     492331/s              297%                 294%                     292%                  288%            6%                   --              -0%               -0%
local-cache-path         492487/s              297%                 294%                     292%                  288%            6%                   0%               --               -0%
memory-cache-path        494658/s              299%                 296%                     294%                  290%            7%                   0%               0%                --

------------------ With eval{} and delegated get_args() in Web::Page::expand():

====== Comparison:
                             Rate no-cache-template memcached-cache-template local-cache-template memory-cache-template no-cache-path local-cache-path memcached-cache-path memory-cache-path
no-cache-template        123447/s                --                      -1%                  -1%                   -1%          -73%             -75%                 -75%              -75%
memcached-cache-template 124144/s                1%                       --                  -1%                   -1%          -73%             -74%                 -74%              -75%
local-cache-template     124841/s                1%                       1%                   --                   -0%          -73%             -74%                 -74%              -75%
memory-cache-template    124988/s                1%                       1%                   0%                    --          -73%             -74%                 -74%              -75%
no-cache-path            455148/s              269%                     267%                 265%                  264%            --              -6%                  -6%               -8%
local-cache-path         484299/s              292%                     290%                 288%                  287%            6%               --                  -0%               -2%
memcached-cache-path     486610/s              294%                     292%                 290%                  289%            7%               0%                   --               -2%
memory-cache-path        495831/s              302%                     299%                 297%                  297%            9%               2%                   2%                --

