High memory consumption is one of biggest problems in tiki. Here we put ideas on how to solve this.
Memory usage evolution
The article "PHP Performance Profiling" at http://www.linuxjournal.com/node/7213 helped me to gather data below. Tests were done in a fresh BRANCH-1-9 install with basicEnabled profile, running as admin.
216k at start
889k just after entering tiki-setup.php
1008k after including initlib.php
1009k just before tiki-setup_base.php
1.171k before any inclusion in tiki-setup_base.php
1.202k after tikiticketlib.php
1.228k in tiki-db.php just before adodb inclusion
2.220k after adodb.inc.php
2.376k after adodb-pear.inc.php
2.591k after database connection
2.567k after finishing tiki-db.php, before setup_smarty.php
2.946k after setup_smarty.php, before tikilib.php
4.967k after entering tikilib.php
5.778k after pear/Date.php
5.795k after lib/tikidate.php
5.877k after lib/tikidblib.php
5.873k after tikilib.php inclusion, before cachelib.php
5.890k after cachelib.php, before logslib.php
5.952k after logslib.php
5.957k after creating $tikilib object
6.618k after userslib.php
6.623k after $userlib object
6.707k after lib/breadcrumblib.php
6.836k at end of tiki-setup_base.php
6.878k before csslib.php
6.950k after csslib.php
6.958k before tiki-modules.php
8.221k after tiki-modules.php
8.237k at end of tiki-setup.php
7.600k after tiki-setup.php
8.600k after all tiki-index.php inclusions
9.800k at end of execution
Fat libs
tikilib.php - 1.8M
tiki-modules.php - 1.2M
adodb.inc.php - 1M
pear/Date.php - 790k
language.php - 438k (pt-br)
on every execution all language.php file is read, loaded in memory, parsed, etc, and small part of file is really used.
possible solutions:
- using file hashes instead