Partage
  • Partager sur Facebook
  • Partager sur Twitter

Performances sous Linux

    20 août 2010 à 17:54:20

    Bonjour les ZérOs,

    Je programme une application en JQuery, c'est super mais un ami utilisant Linux me dit que ça rame sur son ordi : "Ca rame énormément : 28% CPU et facilement 50 Mio de RAM juste pour firefox avec juste l'outil d'ouvert." Il utilise Ubuntu et Gnome.

    Alors, pour la rame j'ai regardé et, apparemment, le fait que Firefox utilise entre 30 et 50 Mo de RAM avec un onglet ouvert est normal, par contre l'utilisation CPU je comprends pas.

    En gros l'appli crée des éléments HTML et écrit du contenu dedans pour finalement l'enregistrer. Lors de l'enregistrement, le contenu de la page est parsé, mouliné et enregistré. Je n'ai apriori aucun script qui tournerait en continu, donc quand on ne fait rien on ne devrait pas trop solliciter la machine.

    Si quelqu'un a entendu quelque chose à propos d'un truc... ;)
    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      20 août 2010 à 18:26:30

      Bah tu codes mal...
      Donne ton code qu'on te dise ce qui est potentiellement mal codé.
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        20 août 2010 à 18:44:15

        :lol: ou son navigateur est pourrave
        • Partager sur Facebook
        • Partager sur Twitter
          20 août 2010 à 19:54:28

          (pas possible, c'est firefox)
          • Partager sur Facebook
          • Partager sur Twitter
            20 août 2010 à 19:57:56

            Citation : xavierm02

            Bah tu codes mal...
            Donne ton code qu'on te dise ce qui est potentiellement mal codé.



            :D ça c'est un fait. La question était plus : qu'est-ce qui est susceptible d'être mal codé dans les fonctionnalités énoncées. Il y a une énorme quantité de code...

            Si ça peut aider à la compréhension : le contenu est partiellement dupliqué dans une arborescence.

            Merci
            • Partager sur Facebook
            • Partager sur Twitter
              20 août 2010 à 20:07:29

              Franchement, je sais pas trop...
              Essaye de tester ton code avec une extension qui log ce qui bouffe de la mémoire.
              Sous chrome : Speed Tracer
              • Partager sur Facebook
              • Partager sur Twitter
                20 août 2010 à 20:14:44

                han ça a l'air pas mal ce truc... :)

                À part ça, est-ce que tu as vu des fautes de goût honteuses dans la programmation ou ça va ?
                • Partager sur Facebook
                • Partager sur Twitter
                  20 août 2010 à 21:39:14

                  Bah j'aime pas jQuery mais c'est un avis personnel, n'en tiens pas compte ;)

                  Après, tu n'a apparemment pas lu le tutoriel sur les bonnes pratiques.
                  Genre tu utilise == à la place de === .

                  Et un dernier truc, c'est que tu n'utilise pas bien les condition...
                  if (nombre === 1) {
                      /* whatever 1 */
                  }
                  if (nombre === 2) {
                      /* whatever 2 */
                  }
                  

                  Or si la première condition est vraie, la deuxième est fausse...
                  Donc il faut mieux faire ainsi pour éviter des tests inutile :
                  if (nombre === 1) {
                      /* whatever 1 */
                  } else {
                      if (nombre === 2) {
                          /* whatever 2 */
                      }
                  }
                  

                  Et on l'écrit plus souvent :
                  if (nombre === 1) {
                      /* whatever 1 */
                  } else if (nombre === 2) {
                      /* whatever 2 */
                  }
                  

                  Et dans ton cas, c'est la même variable donc tu peux utiliser un switch .
                  switch (nombre) {
                      case 1:
                          /* whatever 1 */
                          break;
                      case 2:
                          /* whatever 1 */
                          break;
                  }
                  

                  Enfin pour la façon d'utiliser le switch , je ne suis pas certain et j'ai la flemme de vérifier. Je l'utilise jamais ce truc mais je devrais :(
                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 août 2010 à 21:52:12

                    Tiens, je ne connaissais pas ===. Je vois que c'est pour vérifier le type de variable, mais est-ce que c'est plus performant ? (parce que ça peut être pratique de vouloir vérifier l'équivalence d'un int et d'un string)

                    Euh, à l'installation de Speed Tracer ça me dit

                    Citation : Google


                    Cette extension doit avoir accès aux éléments suivants : Toutes les données de votre ordinateur et des sites Web que vous visitez


                    Je crois qu'ils peuvent aller se faire mettre...
                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 août 2010 à 22:34:18

                      Si t'as pas confiance, clique tu le bouton bleu installer et quand ça te dit ce qu'il veut pouvoir voir, tu vas dans ton dosiier de téléchargements.
                      Tu vas avoir un fichier .crx.
                      C'est un zip renommé si je me souviens bien.
                      Tu le renomme et le dézippe et tu lis le code javascript qui est dedans...
                      M'enfin ça doit pas être bien méchant...
                      Et c'est Google qui l'édite donc ils ont pas intérêt à merder... et ils ont déjà accès à tout ça (s'ils demandent à chrome de le faire).

                      number.toStrint() === string est bien mieux que number == string .
                      T'as lu le tuto ? Et vas voir sur wtfjs.com.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        20 août 2010 à 23:50:40

                        Oui, j'avais déjà lu ce tuto il y a un moment en fait. La plupart des erreurs décriées ne sont pas dans mes scripts, par contre il y a des écritures (non-expliquées comme ===) que je n'utilise pas.

                        wtfjs.com a l'air d'être une mie d'or. Je ne vois pas l'intérêt tout de suite mais si j'ai une erreur incompréhensible un jour je saurai où chercher.

                        Si non je n'ai absolument aucune confiance en Google. Je bloque les cookies venant de google.com, je n'utilise pas google analytics, j'appelle ma librairie depuis mon serveur, je boycotte les Picassa et autres applis Google... et quand je lance Google Chrome je lance CCleaner après pour virer les 10 merdes qu'il m'a refilé.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          21 août 2010 à 0:11:58

                          ...
                          J'ai envie de te dire que Chrome a un uniqueID qui permet de t'identifier donc il s'en fout royalement de tes cookies...
                          En gros, en mettant l'extension, tu donnes à Google les droit qu'il a déjà via le navigateur...
                          • Partager sur Facebook
                          • Partager sur Twitter
                            21 août 2010 à 0:37:51

                            Chrome je l'ouvre tous les 36 du mois pour vérifier un site en fin de développement (sachant que j'utilise Safari le reste du temps pour webkit).

                            Après, si Chrome a déjà balancé "Toutes les données de [mon] ordinateur" à Google...
                            • Partager sur Facebook
                            • Partager sur Twitter
                              21 août 2010 à 0:59:28

                              Pas toutes les données...
                              Lis la charte d'utilisation.
                              Il log les sites...
                              C'est pareil que quand tu fais une recherche sur google...
                              Mais il touche pas à tes fichiers.
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Performances sous Linux

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown