Nous avons donc ce produit, et il est très lent dans IE. Nous avons déjà appliqué un grand nombre de pratiques recommandées par les gars IE eux-mêmes (like this et this), et essayer de sacrifier le code propre pour la performance dans les parties critiques comme la manipulation DOM.Javascript, IE, cordes, et problèmes de performance
Cependant, comme vous pouvez le voir dans cette capture d'écran IE profileur .. alt text http://i43.tinypic.com/24g57c1.png
Just "String" est le plus grand délinquant. Presque 750ms de temps exclusif. Cela signifie-t-il que l'IE passe 750ms à instancier des chaînes? Je lis aussi ce genre de choses sur le Opera dev blog:
Un script de compilation peut supprimer les espaces, commentaires, remplacer les chaînes avec Array lookups (pour éviter MSIE créer un objet chaîne pour chaque exemple d'une chaîne - même en conditions)
Mais plus d'information à ce sujet. Quelqu'un peut-il clarifier? Il semble que IE doit créer une instance String complète chaque fois que vous avez "" dans votre code, ce qui pourrait expliquer cela, mais je ne sais pas à quoi ressemblerait l'optimisation de recherche de tableau. BTW- nous ne faisons pas vraiment beaucoup de concaténation de chaînes n'importe où dans le code.
La bibliothèque que nous utilisons est MooTools 1.2.4
Toutes les suggestions seront appréciées! Thema
MISE À JOUR - Je suis particulièrement intéressé par la pointe mentionnée ci-dessus à propos de "optimisation de recherche de tableau". Notre bibliothèque est grande (1 Mo) donc elle a beaucoup de chaînes, comme n'importe quel autre code JS. Mais puisque notre bibliothèque est plus grande que la plupart, ces chaînes causent réellement des problèmes de vitesse. En outre, quelqu'un sait-il si l'ajout de choses au String.prototype rend chaque instance plus lente?
Est-il possible d'avoir également une vue de profilage d'arborescence d'appel? –