Categories > TinyButStrong general (FR) >

[fr] rapidité d'éxécution

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: petit_pot_de_beurre
Date: 2004-05-09
Time: 20:52

[fr] rapidité d'éxécution

Bonjour à tous

TBS est une très bonne surprise
mais je pense qu'au lieu de regénérer en permanence depuis le template, il devrait "compiler", càd créer une page php qui sera forcément plus rapide

exemple :
sur mon K6-2 400 , j'ai une table mysql de 864 lignes

en faisant un script "moche" (tout dans le php) avec:
while($i=mysql_fetch_array($query)) etc...

le script met 0,9 secondes à chaque fois !

(calculé avec cette fonction, en faisant la différence entre le début et la fin du script)
function microtimestamp() {
    list($msec, $sec) = explode(' ', microtime());
    return ((float) $sec + (float) $msec);
}

En utilisant le template avec les [blk1.#;block=tr] pour la même requete : 35 secondes !!!

il y a un sérieux problème de performance

bien sur, j'ai activé le cache et le second chargement de cette page est instantané (oui, normal, c du cache ;-)
mas bon, quand on a un site avec des données changeant souvent, on peux pas se reposer sur le cache!

serait t'il possible de générer le code php dans un script à part qui lui serait appelé ensuite
en gros:

1/ le template
2 (new) / génere un fichier php avec juste la requete sql, je mysql_fetch_array et le html à afficher en block
3/ (new) c'est ce ficier php qui sera appellé à chaque fois (au lieu du template a refusionner)

à chaque fois qu'on change le template, il faudra regenerer la page de php !
car là, j'ai pas trop regardé comment fonctionnait le système de boucle, mais c'est super lent !!!
c'est dommage, les fonctionnalité sont très interesantes sinon !
By: Skrol29
Date: 2004-05-10
Time: 00:06

Re: [fr] rapidité d'éxécution

Salut,

35 secondes pour l'affichage d'une page c'est anormale.
Même avec 1000 enregsitrements, tu devrais avoir un affichage de mois d'2 secondes.
J'ai ajouté dans la FAQ dela page Support des pistes pour éviter les traitements trop longs.

Pour ce qui est de la compilation du template, malheuresement la technique actuelle de TBS ne le permet pas.
By: petit_pot_de_beurre
Date: 2004-05-10
Time: 17:54

Re: [fr] rapidité d'éxécution

désolé d'avoir oublie le [fr], il n'y a pas de fonctions d'edit

j'ai pas encore bien regardé comment TBS traitait les boucles avec mysql, mais si la façon dont le code est interprété était un peu plus explicite, peut-être que je pourrai aider afin de générer un php "compilé"

(on est bien d'accord, quand on dit "compilé", c'est d'avoir un php avec le php et l'html entremélés afin que tout s'éxécute rapidement sans avoir à parser de template à chaque fois)
By: Skrol29
Date: 2004-05-11
Time: 18:15

Re: [fr] rapidité d'éxécution

On est bien d'accord sur les tamplate compilés. C'est comme pour Smarty.

La difficulté avec TBS ce n'est pas la lecture des données dans mysql, c'est plutôt que le template n'est pas traité de façon programable. Contrairement à un moteur comme Smarty pour qui les tag sont quasiment des instruction algorithmiques.

Il en découle que, par exemple, [var.[var.toto]] est possible avec TBS. Et ce genre de truc est très difficile à gérer en mode compilé.
C'est pas impossible mais très dur. C'est pas du beau codage de template, je suis d'accord, mais pour l'instant, TBS le permet.

Si tu penses que tu peux aider pour la génération de template complié, tes idées sont les bienvenues.
By: petit_pot_de_beurre
Date: 2004-05-12
Time: 00:11

Re: [fr] rapidité d'éxécution

salut,

je t'ai envoyé un mail (à ton adresse mail qui figure dans les commentaies de tbs_class.php) à propos de mes bench entre script PHP et TBS

je ne connais pas trop smarty, mais ce que j'en avais vu, c'était par section, il fallait donc afficher le code source de la page HTML pour éditer les section, boucles, etc..

LE gros avantage (enorme meme) de TBS est que tout est visible en Wysiwyg, même pour les boucles. et ça c'est génial...

et ça doit être "compilable" pour beaucoup de chose (du moins pour les boucles mysql)
Si la compilation pose problème, la solution est peut-être la semi-compilation (limiter au maximum le parsage de template ...)

voilà, répond moi par mail si tu peux (le mail s'appelle : "A propos de la lenteur avec MySQL sur mon K6 et TBS")

Merci, @+
By: Skrol29
Date: 2004-05-12
Time: 01:08

Re: [fr] rapidité d'éxécution

Heu ben j'ai déjà répondu à ton email il y'a plusieurs heures.
By: petit_pot_de_beurre
Date: 2004-05-12
Time: 03:57

Re: [fr] rapidité d'éxécution

mince alors...
j'ai bien peur que ThunderBird 0.6 l'ait directement mis en "junk" mail...

peux-tu le renvoyer, svp ?

merci
By: NOLANT
Date: 2007-04-22
Time: 08:03

Re: [fr] rapidité d'éxécution

Salut,

Effectivement il parait evident que la prochaine étape à franchir pour TBS est la compilation.

Je suis également interessé, y compris pour participer aux développements mais je crois que cela passe par un sacrifice de la version actuelle:
Il faudrait que TBS 4.0 soit clairement affiché "non compatible" avec les templates de TBS 3.2, ce qui permettrait de ne conserver que les fonctions de TBS qui peuvent se compiler sans trop de difficultés.

=> TBS 4.0, qu'en pensez-vous ?

PS: je démarre un projet d'envergure dans les semaines qui viennent, et je risque, avec bcps de regrets, de me tourner vers Smarty à cause de ces pb de perfs ...

By: yassine
Date: 2009-10-27
Time: 17:01

Re: [fr] rapidité d'éxécution

edge topower full please and the another somtimes to good power