Memory Consumption
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