L'Impact de la "instanceof" dans Android code Java
Ne le instanceof
mot-clé ours avec un relativement plus lourd impact sur la plate-forme Android (et plus speciffically les téléphones mobiles, l'exécution de l'Dalvik VM?
Pourquoi voudriez-vous chose, il porte un lourd impact sur l'Android contrairement à Java?
Anthony, parce que c'est une toute autre VM, fondé sur un registre plutôt que basée sur la pile?
Pourquoi instanceof créer la corbeille ? instanceof teste si un objet est une instance d'un type qu'il n'implique pas d'invocation de méthode ou de création de l'objet. Pourquoi demandez-vous un non-sens de la question, de rejoindre sans rapport avec VM concepts qui n'ont pas de sens ?
"Pourquoi êtes-vous de demander à un non-sens à la question" je ne peux pas savoir que je fais jusqu'à après le fait la droite? J'ai retiré le post original pour l'amour de nonsenselessness.
Android est notoirement mauvais à la réflexion. Alors, naturellement, Michiel a été de demander si il y a un gain de performance à l'aide de instanceof, car ils sont un peu similaires. Ce n'est pas une question bête du tout.
Anthony, parce que c'est une toute autre VM, fondé sur un registre plutôt que basée sur la pile?
Pourquoi instanceof créer la corbeille ? instanceof teste si un objet est une instance d'un type qu'il n'implique pas d'invocation de méthode ou de création de l'objet. Pourquoi demandez-vous un non-sens de la question, de rejoindre sans rapport avec VM concepts qui n'ont pas de sens ?
"Pourquoi êtes-vous de demander à un non-sens à la question" je ne peux pas savoir que je fais jusqu'à après le fait la droite? J'ai retiré le post original pour l'amour de nonsenselessness.
Android est notoirement mauvais à la réflexion. Alors, naturellement, Michiel a été de demander si il y a un gain de performance à l'aide de instanceof, car ils sont un peu similaires. Ce n'est pas une question bête du tout.
OriginalL'auteur Michiel | 2010-02-13
Vous devez vous connecter pour publier un commentaire.
Je ne pense pas que
instanceof
porte un lourd impact sur le Dalvik VM opposition à la JVM.Si vous avez des doutes, vous pouvez voir par vous-même lorsque vous exécutez votre application avec un outil appelé Allocation Tracker qui est livré en standard un outil pour la DDMS.
OriginalL'auteur Anthony Forloney
J'ai trouvé que instanceof est surtout plus rapide (autour de 60 à 85% du temps). Toutefois, ce pourcentage tombe lorsque le téléphone est présenté avec l'activité de fond (par exemple, GC, de toucher, de boutons, de le secouer, etc.) mais instanceof reste plus rapidement au-dessus de 50% du temps. Lorsque le nombre de cycles est en fait très grand (c'est à dire > 1000000) instanceof est presque toujours plus rapide.
L'ordre dans lequel les deux boucles while sont présentés (c'est à dire d'abord la instanceof boucle, puis la vérification de la boucle) affecte les résultats, mais instanceof reste le plus rapide.
Sage remarque, je devrais vérifier pour cela; je vous remercie. Qui me laisse avec des questions cependant: comment on a été consistanly plus vite et pourquoi le temps pris a augmenté lorsque les "cycles" a augmenté. Je me souviendrai de ce que vous l'avez fait remarquer quand je suis en train de construire des tests dans l'avenir.
OriginalL'auteur Michiel