[dev] Re: [cvs] commit: horde/config conf.xml framework/Horde/Horde Registry.php

Michael M Slusarz slusarz at mail.curecanti.org
Thu Mar 24 14:15:50 PST 2005


Quoting Jan Schneider <jan at horde.org>:

> Zitat von Michael M Slusarz <slusarz at bigworm.curecanti.org>:
>
>> Quoting Jan Schneider <jan at horde.org>:
>>
>>> Zitat von Michael M Slusarz <slusarz at curecanti.org>:
>>>
>>>> slusarz     2005-03-23 16:32:20 PST
>>>>
>>>>  Modified files:
>>>>    config               conf.xml
>>>>    Horde/Horde          Registry.php
>>>>  Log:
>>>>  Implement session caching of some registry information.  See conf.xml ->
>>>>  'registry_cache' entry for description of what is cached.
>>>
>>> Cool, that should give a huge perfomance boost. Unfortunately also a
>>> memory boost, but that's another story. Did you do any benchmarks?
>>
>> Not yet.  And in my haste I forgot to add to the conf.xml description
>> that "Additionally, caching of registry information will result in
>> slightly larger session sizes".  But disk space is cheap, I/O access
>> times generally are not, so I expect there to be a noticeable
>> difference (1-2%??), especially for something like the sidebar which
>> has to parse multiple configuration files.
>
> Forget it. I actually was talking about memory, not disk space. But the
> data gets loaded into memory anyway, whether you use caching or not, so
> that doesn't make a difference. The disk space is negligible.
>
> I actually expect an even higher performance gain, because when I did
> some profiling recently, the registry instantiation was one of the hogs
> on light or highly optimized pages.

Too late... I ran some benchmarks.  Now keep in mind these benchmarks 
are as primitive as possible (i.e. essentially using PEAR's Benchmark 
and setting it to start at the very top of sidebar.php and ending it at 
the very end of that same file), and sidebar.php will most likely show 
the greatest benefit since it has to load several different conf.php 
files and every API file, but benchmarks show the caching to increase 
load time about 16-20% (approx. 0.25s vs. 0.30s) if not using an 
accelerator and about 15-18% (approx. 0.125s vs. 0.15s) using an 
accelerator - I use EAccelerator (most likely because the conf/api 
files are already in bytecode so you save on that step with the 
accelerator).  So it looks pretty good.

BTW, as you can see those benchmarks indicate that with an accelerator 
you can achieve speedups of approx. 100% so that is still the #1 way to 
increase performance of Horde.

michael

_______________________________________
Michael Slusarz [slusarz at curecanti.org]


More information about the dev mailing list