Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/10/2011, 11h53   #1
Membre du Club
 
Étudiant
Inscription : juillet 2005
Messages : 267
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2005
Messages : 267
Points : 58
Points : 58
Par défaut Temps d'exécution : importance du contenant ?

Bonjour à tous !

Je viens de faire un test de rapidité d'exécution.
Je fais juste une recherche dans du HTML : je récupère le premier H3 parmis 3 présents.

Voici mon code jQuery :
(10 exécutions de 1000 sélections a chaque itération)

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
$(function() {
 
                var $content = $('textarea');
 
                for(j=0;j<10;j++){
 
                    console.time('name');
 
                    for(i=0;i<1000;i++)
                        $($content,'h3:first').text();
 
                    console.timeEnd('name');
 
                }
 
            })

On voit que les données viennent du textarea.
Si je modifie mon textarea en div, les temps sont doublés...

Pourquoi la structure du contenant agit elle "autant" sur le temps d'exécution ?


Question HS : comment s'appel la technique pour faire des traitements comme ça : $(data,'traitement) au lieu de $('traitement') ? Je n'arrive pas à trouver des docs sur cette manière de faire.

Merci d'avance pour votre aide !!
__________________
Blog : http://alacoche.geekos.fr/

Donnez votre voix pour 2012 : http://www.votelibre.fr/
nims est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 22h00   #2
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

Impossible de tester sans la totalité du code. Mais quelques remarques.

Pas de variables globales, mais var i, j;

Ne jamais construire un sélecteur dans une boucle.

Votre sélecteur contextuel me semble bizarre.

Pour sélectionner le premier h3 dans tous les textarea de la page !

var i, j, jObj = $("h3:first", "textarea");.

Pour un textarea avec un ID : var i, j, jObj = $("h3:first", "#textareaID");.

Mieux un sélecteur détaillé (de toute manière, c'est ce qu'il ferra en interne)

Code :
1
2
3
4
5
6
7
var i, j, jObj = $("#textareaID").find("h3:first");
 
for(j=0;j<10;j++){
    console.time('name');
    for(i=0;i<1000;i++){ console.log( jObj.text() );
    console.timeEnd('name');
}
$(data,'traitement) ? Vous voulez parler de http://api.jquery.com/data/ ?
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 22h03   #3
Membre du Club
 
Étudiant
Inscription : juillet 2005
Messages : 267
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2005
Messages : 267
Points : 58
Points : 58
Merci pour les remarques (code vite fait ).

En fait, peut importe le code.
Ma constatation : la vitesse de récupération d'un contenu dépend de son contenant apparemment ...

Récupérer à partir d'un DIV semble 2 fois plus lent que d'un textarea...

Je voulais creuser ce "phénomène"...

Merci pour le lien, j'ai trouvé entre temps
__________________
Blog : http://alacoche.geekos.fr/

Donnez votre voix pour 2012 : http://www.votelibre.fr/
nims est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h00.


 
 
 
 
Partenaires

Hébergement Web