Forums / Setup & design / Modular (and slow?) design, or non modular (and fast?)?

Modular (and slow?) design, or non modular (and fast?)?

Author Message

Tore Skobba

Thursday 18 December 2003 10:39:56 am

Hi All

I Have a question which people with experince using and running EZ might help with. Currently I am making an design where I have lots of different templates (around 10 template are invoked for an page, add eventual X children node display templates for some pages). This in order to have modular design and code, in addition I am doing some controll statments in order to further have an modular design and templates. I belive that I could perhapes cut away half the templates and several controll statments if I wanted to have a less modular design, due to eventual lower page generation times (faster site).

So I am just wondring if people try to opt for fast solutions, or modular and maybee slower ones. My experince tells me that more templates tend to give longer page generation times, even when the templates are cached. However, I am not sure if the eventuel lower page generation time from an less modular design would be worth it. So I thought maybee someone with some experince could give some tips.

So what do you do? Optimize for speed or modular design?

I just wants some general personal comments as I have very little experince with different solutions.

Cheers
Tore

Mark Marsiglio

Sunday 21 December 2003 5:30:39 pm

I chose a modular design for my site, and as a performance test, I took one of my page layout templates and combined all of the includes into one template.

The result was that the non-modular template was approximately .1 seconds faster in processing times.

This was before I had enabled cache blocks, and it rendered in 3 seconds with modular template (about 12 different templates called) and 2.9 seconds when I combined everything into one template.

After enabling cache blocks, load times are down to .8 seconds on average.

I left it modular, as the slight performance improvement was not worth the development headache of having everything combined.

http://www.thinkcreative.com
Turning Ideas Into Strategic Solutions

eZ debug

Timing: Jan 19 2025 04:41:39
Script start
Timing: Jan 19 2025 04:41:39
Module start 'content'
Timing: Jan 19 2025 04:41:39
Module end 'content'
Timing: Jan 19 2025 04:41:39
Script end

Main resources:

Total runtime0.8702 sec
Peak memory usage4,096.0000 KB
Database Queries191

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0101 589.1016180.8125
Module start 'content' 0.01010.7332 769.9141529.2734
Module end 'content' 0.74320.1269 1,299.1875332.8828
Script end 0.8702  1,632.0703 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00410.4718210.0002
Check MTime0.00150.1715210.0001
Mysql Total
Database connection0.00150.167110.0015
Mysqli_queries0.796991.56991910.0042
Looping result0.00190.21821890.0000
Template Total0.834095.820.4170
Template load0.00190.223620.0010
Template processing0.832095.606020.4160
Template load and register function0.00020.028710.0002
states
state_id_array0.00120.132510.0012
state_identifier_array0.00100.114720.0005
Override
Cache load0.00150.1774170.0001
Sytem overhead
Fetch class attribute can translate value0.00150.171630.0005
Fetch class attribute name0.00110.127930.0004
XML
Image XML parsing0.00140.161630.0005
class_abstraction
Instantiating content class attribute0.00000.001030.0000
General
dbfile0.00520.5954260.0002
String conversion0.00000.002830.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
2content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
3content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
1content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 9
 Number of unique templates used: 6

Time used to render debug report: 0.0002 secs