[AWS] AWS / Templates_Parser performance

Pascal Obry p.obry@wanadoo.fr
Fri, 6 Feb 2004 20:27:15 +0100


--0DWxgrl1GW
Content-Type: text/plain; charset=us-ascii
Content-Description: message body text
Content-Transfer-Encoding: 7bit


I have now integrated Jean-Pierre Rosen's patch to improve the templates
engine performance. This should improve a lot the perf on GNAT 3.15. On 3.16
it is still a bit better (about 14%).

You can download Templates_Parser 7.0 from my homepage. Note that this version
does not support AWS's embedded resources. To keep this feature you can apply
the patch attached with this message. The new templates engine version
supporting embedded resources will be distributed with AWS 2.0, the next AWS
version.


--0DWxgrl1GW
Content-Type: application/octet-stream
Content-Disposition: attachment;
	filename="templates_parser.dif"
Content-Transfer-Encoding: base64

SW5kZXg6IHRlbXBsYXRlc19wYXJzZXIuYWRiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jeWdkcml2
ZS9yL1RlbXBsYXRlc19QYXJzZXIvc3JjL3RlbXBsYXRlc19wYXJzZXIuYWRiLHYKcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjk4CnJldHJpZXZpbmcgcmV2aXNpb24gMS45OQpkaWZmIC1jIC1jIC1yMS45
OCAtcjEuOTkKKioqIHRlbXBsYXRlc19wYXJzZXIuYWRiCTI3IEphbiAyMDA0IDE5OjQ3OjQyIC0w
MDAwCTEuOTgKLS0tIHRlbXBsYXRlc19wYXJzZXIuYWRiCTYgRmViIDIwMDQgMTk6MDI6MjMgLTAw
MDAJMS45OQoqKioqKioqKioqKioqKioKKioqIDI2LDMyICoqKioKICAtLSAgY292ZXJlZCBieSB0
aGUgIEdOVSBQdWJsaWMgTGljZW5zZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLS0KICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAKISAtLSAgJElkOiB0ZW1wbGF0ZXNfcGFy
c2VyLmFkYix2IDEuOTggMjAwNC8wMS8yNyAxOTo0Nzo0MiBvYnJ5IEV4cCAkCiAgCiAgd2l0aCBB
ZGEuRXhjZXB0aW9uczsKICB3aXRoIEFkYS5DaGFyYWN0ZXJzLkhhbmRsaW5nOwotLS0gMjYsMzIg
LS0tLQogIC0tICBjb3ZlcmVkIGJ5IHRoZSAgR05VIFB1YmxpYyBMaWNlbnNlLiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAtLQogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIAoh
IC0tICAkSWQ6IHRlbXBsYXRlc19wYXJzZXIuYWRiLHYgMS45OSAyMDA0LzAyLzA2IDE5OjAyOjIz
IG9icnkgRXhwICQKICAKICB3aXRoIEFkYS5FeGNlcHRpb25zOwogIHdpdGggQWRhLkNoYXJhY3Rl
cnMuSGFuZGxpbmc7CioqKioqKioqKioqKioqKgoqKiogMjM1MCwyMzU3ICoqKioKICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gUm9vdDsKICAgICAgICAgICAgICAgICAgICBlbmQgaWY7CiAg
ICAgICAgICAgICAgICAgZW5kIGxvb3A7Ci0gCi0gICAgICAgICAgICAgICAgcmV0dXJuIFJvb3Q7
CiAgICAgICAgICAgICAgZW5kOwogICAgICAgICAgIGVuZCBpZjsKICAgICAgICBlbmQgUGFyc2U7
Ci0tLSAyMzUwLDIzNTUgLS0tLQoqKioqKioqKioqKioqKioKKioqIDI3NDksMjc1NCAqKioqCi0t
LSAyNzQ3LDI3NTYgLS0tLQogIAogICAgICAgIFJlc3VsdHMgOiBVbmJvdW5kZWRfU3RyaW5nIDo9
IE51bGxfVW5ib3VuZGVkX1N0cmluZzsKICAKKyAgICAgICBCdWZmZXIgIDogU3RyaW5nICgxIC4u
IDQgKiAxXzAyNCk7CisgICAgICAgTGFzdCAgICA6IE5hdHVyYWwgOj0gMDsKKyAgICAgICAtLSAg
Q2FjaGUgdG8gYXZvaWQgdG9vIG1hbnkgcmVhbGxvY2F0aW9uIHVzaW5nIEFwcGVuZCBvbiBSZXN1
bHRzIGFib3ZlCisgCiAgICAgICAgTm93ICAgICA6IENhbGVuZGFyLlRpbWU7CiAgCiAgICAgICAg
cHJvY2VkdXJlIEFuYWx5emUKKioqKioqKioqKioqKioqCioqKiAzMTM4LDMxNDMgKioqKgotLS0g
MzE0MCwzMTY4IC0tLS0KICAgICAgICAgICBwcm9jZWR1cmUgQW5hbHl6ZSAoRCA6IGluIERhdGEu
VHJlZSkgaXMKICAgICAgICAgICAgICB1c2UgdHlwZSBEYXRhLlRyZWU7CiAgCisgICAgICAgICAg
ICAgcHJvY2VkdXJlIEFkZCAoUyA6IGluIFN0cmluZyk7CisgICAgICAgICAgICAgLS0gIEFkZCBT
IGludG8gUmVzdWx0cyAodXNpbmcgQnVmZmVyIGNhY2hlIGlmIHBvc3NpYmxlKQorIAorICAgICAg
ICAgICAgIC0tLS0tLS0tLQorICAgICAgICAgICAgIC0tIEFkZCAtLQorICAgICAgICAgICAgIC0t
LS0tLS0tLQorIAorICAgICAgICAgICAgIHByb2NlZHVyZSBBZGQgKFMgOiBpbiBTdHJpbmcpIGlz
CisgICAgICAgICAgICAgYmVnaW4KKyAgICAgICAgICAgICAgICBpZiBMYXN0ICsgUydMZW5ndGgg
PiBCdWZmZXInTGFzdCB0aGVuCisgICAgICAgICAgICAgICAgICAgLS0gIE5vdCBlbm91Z2ggY2Fj
aGUgc3BhY2UsIGZsdXNoIGJ1ZmZlcgorICAgICAgICAgICAgICAgICAgIEFwcGVuZCAoUmVzdWx0
cywgQnVmZmVyICgxIC4uIExhc3QpKTsKKyAgICAgICAgICAgICAgICAgICBMYXN0IDo9IDA7Cisg
ICAgICAgICAgICAgICAgZW5kIGlmOworIAorICAgICAgICAgICAgICAgIGlmIFMnTGVuZ3RoID49
IEJ1ZmZlcidMZW5ndGggdGhlbgorICAgICAgICAgICAgICAgICAgIEFwcGVuZCAoUmVzdWx0cywg
Uyk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgIEJ1ZmZlciAoTGFz
dCArIDEgLi4gTGFzdCArIFMnTGVuZ3RoKSA6PSBTOworICAgICAgICAgICAgICAgICAgIExhc3Qg
Oj0gTGFzdCArIFMnTGVuZ3RoOworICAgICAgICAgICAgICAgIGVuZCBpZjsKKyAgICAgICAgICAg
ICBlbmQgQWRkOworIAogICAgICAgICAgICAgIFQgOiBEYXRhLlRyZWUgOj0gRDsKICAKICAgICAg
ICAgICBiZWdpbgoqKioqKioqKioqKioqKioKKioqIDMxNDYsMzE1NSAqKioqCiAgICAgICAgICAg
ICAgICAgY2FzZSBULktpbmQgaXMKICAKICAgICAgICAgICAgICAgICAgICB3aGVuIERhdGEuVGV4
dCA9PgohICAgICAgICAgICAgICAgICAgICAgIEFwcGVuZCAoUmVzdWx0cywgVC5WYWx1ZSk7CiAg
CiAgICAgICAgICAgICAgICAgICAgd2hlbiBEYXRhLlZhciA9PgohICAgICAgICAgICAgICAgICAg
ICAgIEFwcGVuZCAoUmVzdWx0cywgVHJhbnNsYXRlIChULlZhcikpOwogIAogICAgICAgICAgICAg
ICAgIGVuZCBjYXNlOwogIAotLS0gMzE3MSwzMTgwIC0tLS0KICAgICAgICAgICAgICAgICBjYXNl
IFQuS2luZCBpcwogIAogICAgICAgICAgICAgICAgICAgIHdoZW4gRGF0YS5UZXh0ID0+CiEgICAg
ICAgICAgICAgICAgICAgICAgQWRkIChUb19TdHJpbmcgKFQuVmFsdWUpKTsKICAKICAgICAgICAg
ICAgICAgICAgICB3aGVuIERhdGEuVmFyID0+CiEgICAgICAgICAgICAgICAgICAgICAgQWRkIChU
cmFuc2xhdGUgKFQuVmFyKSk7CiAgCiAgICAgICAgICAgICAgICAgZW5kIGNhc2U7CiAgCioqKioq
KioqKioqKioqKgoqKiogMzM0OSwzMzU1ICoqKioKICAgICAgICAgICAgICAgICAgICBFeHByLk9f
RGlmZiAgPT4gRl9EaWZmJ0FjY2Vzcyk7CiAgCiAgICAgICAgICAgICAgVV9PcF9UYWJsZSA6IGNv
bnN0YW50IGFycmF5IChFeHByLlVfT3BzKSBvZiBVX09wc19GY3QKISAgICAgICAgICAgICAgIDo9
IChFeHByLk9fTm90ICAgPT4gRl9Ob3QnQWNjZXNzKTsKICAKICAgICAgICAgICBiZWdpbgogICAg
ICAgICAgICAgIGNhc2UgRS5LaW5kIGlzCi0tLSAzMzc0LDMzODAgLS0tLQogICAgICAgICAgICAg
ICAgICAgIEV4cHIuT19EaWZmICA9PiBGX0RpZmYnQWNjZXNzKTsKICAKICAgICAgICAgICAgICBV
X09wX1RhYmxlIDogY29uc3RhbnQgYXJyYXkgKEV4cHIuVV9PcHMpIG9mIFVfT3BzX0ZjdAohICAg
ICAgICAgICAgICAgOj0gKEV4cHIuT19Ob3QgPT4gRl9Ob3QnQWNjZXNzKTsKICAKICAgICAgICAg
ICBiZWdpbgogICAgICAgICAgICAgIGNhc2UgRS5LaW5kIGlzCioqKioqKioqKioqKioqKgoqKiog
MzY3NSwzNjgwICoqKioKLS0tIDM3MDAsMzcwOSAtLS0tCiAgICAgICAgZWxzZQogICAgICAgICAg
IENhY2hlZF9GaWxlcy5Qcm90LlJlbGVhc2UgKFQpOwogICAgICAgIGVuZCBpZjsKKyAKKyAgICAg
ICAtLSAgRmx1c2ggYnVmZmVyIGFuZCByZXR1cm4gcmVzdWx0CisgCisgICAgICAgQXBwZW5kIChS
ZXN1bHRzLCBCdWZmZXIgKDEgLi4gTGFzdCkpOwogIAogICAgICAgIHJldHVybiBSZXN1bHRzOwog
ICAgIGVuZCBQYXJzZTsK
--0DWxgrl1GW
Content-Type: text/plain; charset=us-ascii
Content-Description: message body and .signature
Content-Transfer-Encoding: 7bit


Be sure to read the documentation as there is some new features in this
version. Some new filters like REPLACE, REPLACE_ALL, FORMAT_DATE, ADD_PARAM,
DEL_PARAM, a new variable NOW.

Thanks Jean-Pierre for your contribution.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595

--0DWxgrl1GW--