Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
Re: Option prefetch_forms() - preload all forms in a single query
ruud wrote #294220:
Back to prefetching… wouldn’t a
aks_prefetch
plugin be the optimal solution? That would give the configurability you propose and even allow users to do this per page instead of site-wide.
Now I also think that the best would be a plugin.
But I can not access the static variable $forms
.
Another possible way is to add a callback forms.prefetch
If this opportunity to implement a plugin, I do not want to be limited to table txp_form
. Why not?
The next possible step: We can store the form in the file system, or use virtual forms within their own plugins. Updated plugin and all plugin virtual forms also “update”. Now I have to update plugins with the update and forms.
aks_cron : Cron inside Textpattern | aks_article : extended article_custom tag
aks_cache : cache for TxP | aks_dragdrop : Drag&Drop categories (article, link, image, file)
Offline
Re: Option prefetch_forms() - preload all forms in a single query
makks, I think you can do it without directly accessing the static $forms variable if you hook into the form.fetch
callback event. You could pull the form content from wherever you want… I’m checking to see if I can make a plugin that does this.
Offline
Re: Option prefetch_forms() - preload all forms in a single query
NOTE: this plugin requires TXP 4.6
Does anyone want to try?
Those who try, let us know:- the number of form queries
- runtime before you used this plugin
- runtime after you used this plugin
- query time before you used this plugin
- query time after you used this plugin.
- if you’re prefetching all forms (even the ones not used on that page) or just a select few.
# rvm_prefetch v0.1
# Prefetch forms, reducing the number of SQL queries
# Ruud van Melick
# http://vanmelick.com/txp/
# ......................................................................
# This is a plugin for Textpattern - http://textpattern.com/
# To install: textpattern > admin > plugins
# Paste the following text into the 'Install plugin' box:
# ......................................................................
H4sIAAAAAAAAA41VyW7jRhA9j76ihhBMKmBILbZsUEuQwwQYIIvj0SHBxBBaZFHsMcmme7FG
GPjfU91NKcqG5CCrl1evXr2qlll2l31R2W0WvKBUXLTBQmWzLBgnE7uaZwEzuhLSbiY3WfBg
TAEvrIUfsOb5kzsen0BbI7k9mRKw0rrL0pSgjUMmuWhS/blLXcgkCwpUueSd7nPeEMu9xBJ1
XkEpZKNikFiYnLd70BVCa5odShAlfPj5e3g2KDkqG3mdBS1r0PFOs0C+NNuuJ+qvK6w7u7yb
U51vltVkfQlapnQwGLxZduv72ux5S3mfDZeoYKk6KjWvmVKrIGedCtabX+6XqT1ew3UyByGh
4vsKZbJMu55lU3EFnacSZUm+wiejNIgWQbN9DIeKU5E5Ue8QjMKCrqBje8qoK6ahFqwARl/a
luvMSOC99n440KUd/yCSHDqJ7I2CFrGgRETm6L2rQqGnBy3OGk/6VCVMXQAVQfmEPELDnhCO
wkg44E5xTbFMaSodNiSoEIdW8QKB91VwTdU+UWoGO+4qabCxPJRLaSHR1XHqgtdGhf7h46/C
OJOQE1CekcDq+jQhXillJBdLUwMvrUC7c+QN+yQk10eb/BxlzWagyIEaneuZT7mkBOtlLgpc
X9V6QbOaXY4JpFd7vRgsU4egEEJ7nT9Jl9RKVVhjrntZPpu9OnBV2bJPXP8zoyVYXT0boRd2
ubVjPonhvJ7GkCSJB/y7vHfevgM7xtAZ7Yz5rzJ7GjuuwHyIFp210fWMTItpdkvbROb09D0o
XPv6Z2cp7PL2hp7lYEOJsj3qKNzgZ90xTZPTbjdsv33APVdaHsPR12vp1iij8FJUOFoMBqer
bU6t3LH86S+YGEKrJDnv6FOyWqENLk2b258auAyJhqSCpmioK5qGVWvqmjbWWbceDb4MgEaV
aZ7D0HdzBUxKdowsJ9hxixwe3q5W4GLAxoBnIbT7/hjav+Gji/FRb7lS5IVn/ehQj6NTMNBL
10bSOLEStyXHuojC7whpq6KGbUu/DvokYZAU4gP9AFRezSgJwoAUWqZXn9MlsnouE3qEaf+u
xN/0KtyVPXFc1DzJch3V35J3kXfDoZ37IazWzgg6GpGZ1uCRN2t4oDG0cqNezNmybyCcrCYh
ZH1F73+EiGqiNu23Erua5RiF6W/qq5g+aRgHYRwGMWjJG881shWPAqtxKG2TnHFSHNSW2ie1
dy8G14Y/e+hVeYX0bGuMhhRHFC0V+iAOtFXnxpxMIsSpp4/WVLd3DXr0Pr0O+v+jTXHjVvQC
ptN8nJc4Z7PZrGBY7PKb8e18Ptshu96N7+6Cxevv8TJEno4HAAA=
Offline
Re: Option prefetch_forms() - preload all forms in a single query
On a site with an assload of forms.
Before:
<!-- Runtime: 0.3576 -->
<!-- Query time: 0.159883 -->
<!-- Queries: 170 -->
<!-- Memory: 7684Kb, end of textpattern() -->
After:
<!-- Runtime: 0.3738 -->
<!-- Query time: 0.163590 -->
<!-- Queries: 152 -->
<!-- Memory: 7771Kb, end of textpattern() -->
Offline
Re: Option prefetch_forms() - preload all forms in a single query
So apart from the reduction in queries, everything else got worse. Oops.
Offline
Re: Option prefetch_forms() - preload all forms in a single query
The results are fluctuating, but there seems to be about 3% acceleration (0.087 -> 0.085 overall runtime) on a ~vanilla site on my wamp laptop with query cache enabled.
Offline