Efficacité des collections

2»

Réponses

  • psychoh13psychoh13 Mothership Developer Membre
    02:40 modifié #32
    En quoi c'est pas trop standard ?
  • schlumschlum Membre
    02:40 modifié #33
    " standard " était peut-être mal choisi...
    Justement parce que vu que quasi-tous les systèmes 32 bits sont ILP32, un programmeur s'attendrait plus à  du ILP64 ne dissociant pas "int" et "long" comme le fait le LP64.
  • psychoh13psychoh13 Mothership Developer Membre
    02:40 modifié #34
    Euh ça, ça dépend totalement du processeur, et le LP64 est beaucoup fréquent, notamment dû au fait que les processeurs Intel et PPC 64 bits utilisent ce mode...
    Il existe par ailleurs des processeurs comme le SPARK, qui sont SILP64, c'est-à -dire Short, Int, Long, Long Long et Pointer en 64 bits.
    Et donc ILP32 c'est le processeur 32 bits traditionnels, avec un Short en 16 bits et le reste en 32.

    LP64 n'a pas du tout été choisi par Apple. C'est juste comme ça que sont définis les processeurs sur lesquels Mac OS X tourne.
  • schlumschlum Membre
    02:40 modifié #35
    Euh... Le data model n'a rien à  voir avec le processeur...
    Un processeur n'est pas typé ! Lui il travaille avec des registres 32 ou 64, basta... À l'OS au dessus de choisir son data model.

    Par contre, c'est vrai que LP64 est plus courant, du coup, je peux ranger mon " standard "  :)
  • psychoh13psychoh13 Mothership Developer Membre
    02:40 modifié #36
    Oui mais la compilation du C en langage assembleur, qui n'a pas de type explicite certe, dépend largement de la machine et par exemple dans un SILP64, tous tes entiers devront être assemblé pour faire 64 bits, pour pouvoir être utilisés correctement par le processeur, et t'as pas vraiment le choix à  ce niveau.

    Bien sûr, tu pourrais dire "je convertis mes int de la même manière que mes long long", et à  ce moment tu serais automatiquement en ILP64... Mais ce serait débile de faire ça si tu as des registres prévus pour contenir des 32 bits de manière plus optimisée.
  • schlumschlum Membre
    mai 2009 modifié #37
    Hum... Tu peux me donner tes sources de " processeur SILP64 " ? Parce que pour moi un data modèle associé à  " processeur ", c'est un non-sens.

    Par ailleurs, de nombreuses API (APR, l'API win-32...) utilisent leurs propres types avec la taille et le " signage " spécifiés, ce qui permet de s'abstraire de tout data modèle justement. Donc le coup de " pas vraiment le choix à  ce niveau "...
Connectez-vous ou Inscrivez-vous pour répondre.