![]() |
My PayPal link is under Mod Information on top of this page :p Glad to have helped out! (And make sure eAcc got enough memory so it doesn't start removing files. And you if really want to push it and got the PHP knowledge try the experimental version I'm running it for several months and it works really smooooth. Though I guess the performance gain is about the same. )
|
Will it help with my configuration - vb 3.6.7pl1, mysql 4.1.21 (mysqli in config), php 5.2, without any php cache and acceleration (as my shared hosting site5 doesn't allow that).
Any suggestions? |
This modification is for HIGH TRAFFIC vB installations.
|
orban, anyway it will not reduse the speed of my configuration, only help, right?
|
Not it can make your installation slower, use more resources, RAM, cpu.
|
2 suggestions:
- Instead of another eval() call, just use an include() and make the include return the code - Hook into template_compile to determine if a cache clear is necessary This would also fire for style import, etc. |
1. How?
vB template calls are like this: eval('$foo .= "' . fetch_template('bar') . '";'); fetch_template( ) returns the template as a string. 2. Is that hook new? |
1) Construct the file like
PHP Code:
PHP Code:
|
1) Alright that works too thought I doubt there's any performance gain. I only use the experimental version anyway which basically does what you suggest just with functions.
2) Hmm, is that function called for every template? Might be a bad idea to clear the template cache 100 times when importing a style...not to mention importing a style doesn't require you to clear the template cache in the first place...? But for clearing the cache when editing a template might be worth a shot. |
1) Probably not a noticable one, but there is one.
2) compile_template() is called whenever a template is saved. If didn't mean that you shuld clear the cache in this hook, just that a flag that the cache is dirty. This flag could then be checked in admin_complete and the cache cleared if set. |
1) As I said if you are interested in maximizing performance take a look at the one I marked as experimental, I will actually clean that up a bit soon and upload here. Just did a quick and dirty benchmark with microtime, you save about 4*10^-6 seconds if you remove the double eval.
2) Good idea, thanks. Clearing the cache in the shell is the best idea anyway. ;) |
The experimental Version is quite nice :)
However if breaks Template foobarcheck Code:
<if condition="$foo = 'bar'"> PHP Code:
Also, you don't need to pass superglobals like $GLOBALS ;) |
Do vB default templates have <if> conditions? Because all the default templates work fine for me. Feel free to filter out $GLOBALS, but what does it matter anyway? This level of detail is absolutely unnecessary you won't gain any performance by spending your time on that. The step from eval(very long string) to eval(function call cached by opcode cacher) is the important one.
|
Quote:
Template memberlist_resultsbit for example: Code:
<if condition="$show['emailcol'] AND exec_switch_bg()"><td class="$bgclass"> With your Plugin, you won't By using references, you could fix that; would also save some memory/processing. For example, $vbphrase is used in almost all templates. With the current code, this array is always being copied when a template is eval'ed. Nevermid, I just wanted to make suggestion to improve this further. Sorry. |
Alright I see where you are coming from. Yeah references will solve the problem, vB's code is more messed up than you'd ever think. Well I updated functions_template_cache.php.
|
Quote:
It would be easier if you gave it a new version number (and eventually send an update mail to all users). Now it's a bit confusing as there's no concrete information about the changes (or we need to read the full thread) and the mod is marked as updated ... |
It would be easier if you read the first line.
|
Quote:
|
All times are GMT. The time now is 01:33 AM. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|