• [^] # Re: BeOS: Quel dommage...

    Posté par (site web personnel) . En réponse à la dépêche Haiku a 6 ans. Évalué à 6.

    Parce qu'un appel polymorphique, ça implique un appel sur un pointeur de fonction se trouvant dans une table, donc un vidage total du cache, un vidage du pipeline (indirection dynamique, le processeur ne sait pas sur quoi il va tomber), soit 1000 à 5000 cycles à bas mots, soit de 1 à 5 μs à 1 Ghz.

    Tu dois augmenter les erreurs de prédiction de branchement, c'est sur mais pas à tous les coups. Et je ne comprends pas pourquoi le cache devrait être vidé ? Un saut indirect ou pas reste une instruction de saut qui peut être prédite comme les autres même si mal. (avec pénalité donc, mais d'une dizaine de cycles maximum)

    "La première sécurité est la liberté"