IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Linux 4.3 passe en disponibilité générale


Sujet :

Linux

  1. #21
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Bonjour.

    Citation Envoyé par yonisolo Voir le message
    Ce que je trouve le plus insultant, c'est pas la remarque, le but du core est d'être optimisé aux petits oignons, et Linus est garant de cela,
    La remarque de Linus concerne clairement la lisibilité/compréhension du morceau de code, pas l'optimisation.

    D'ailleurs si l'optimisation était de mise, le code de Linus ne présenterait pas deux fois le même calcul (hlen + sizeof(struct frag_hdr). Ce sera certes une micro-optimisation, mais cela montre que ce n'est pas le but ici.

    Et visiblement la sécurité du code non plus, puisque Linus dit très bien que le calcul de (hlen + sizeof(struct frag_hdr) + 8) peut aussi déborder...

  2. #22
    Membre émérite

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2006
    Messages : 666
    Points : 2 817
    Points
    2 817
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Laurent 1973 Voir le message
    Qu'est ce que ce chiffre 8 ?
    Même si de manière générale je suis d'accord sur les nombres magiques, ici on parle clairement de MTU, si la notion relative à ce 8 est complexe à expliquer (et donc à expliciter dans un nom de constante) et que tout le monde sait que c'est 8 et ça ne peut qu'être 8, alors autant écrire 8 plutôt que de créer une constante à 20 caractères pour définir quelque chose qui ne sera jamais autre chose que 8. A ce niveau-là je parlerai de tolérance vu que le nom de la variable auquel ce 8 est comparé permet de savoir clairement de quoi on parle. Et je préfère largement trouver "8" qu'une constante "EIGHT".

    Citation Envoyé par Laurent 1973 Voir le message
    l'ordre d’évaluation
    A ma connaissance le noyau est en C, et l'ordre d'évaluation (+ prioritaire à <) est commun à de nombreux langages. Je vois mal surcharger de parenthèses (et donc nuire à la lisibilité) simplement parce que certains langages exotiques (dans lequel jamais aucun module noyau ne sera écrit) ont une priorité différente.

    Citation Envoyé par Laurent 1973 Voir le message
    Et sinon, autre remarque: il serait bien que Linus prennent quand même des leçons de diplomatie, autant sur le font il a raison, autant sur la forme il a loupé sa communication.
    Je préfère un noyau efficace grâce au talent d'un codeur génial et grincheux plutôt qu'un noyau inefficace écrit par un codeur charismatique mais médiocre.

    Citation Envoyé par robertledoux Voir le message
    Toute façon, venant d'un type qui utilise "goto"... Autant le premier code ne check rien, autant celui de Torvalds est une merde infâme.
    Le premier code utilisait déjà le goto pour commencer donc c'est malvenu de mettre ça sur le dos de Linus, et ensuite de nombreux ouvrages affirment que goto est toléré dans la gestion d'erreur (ce qui est le cas ici) si les gérer d'une autre manière nuit à la lisibilité globale du code ou à la performance. De plus, il n'y a pas d'exception en C, et de toute manière la gestion d'exceptions à un coût qu'on ne peut pas se permettre au niveau noyau.

    Citation Envoyé par nirgal76 Voir le message
    A mon taf, ça passe pas la revue de code.
    Chaque entreprise a ses standards de code. De plus je doute qu'on puisse comparer le développement d'un noyau au développement de logiciel lambda.

    Citation Envoyé par FranT Voir le message
    J'imagine la tête des profs qui rabâchent d'année en année à leurs étudiants que faire du goto est un sacrilège !!!
    Les professeurs sont là pour enseigner de bonnes pratiques pour éviter les mauvais départs, mais les beaux principes de la fac doivent parfois s'effacer devant la réalité du terrain, et c'est bien plus souvent qu'on croit.

    Dans ce cas que devrais-je dire du Pacman écrit en Java par les professeurs à l'époque où j'étais sur les bancs de l'école, où ils ont poussé les "bonnes pratiques" tellement à l'extrême (tout objet dans ce cas précis) que le jeu ramait énormément même sur les machines les plus puissantes de l'époque.

    Citation Envoyé par Jipété Voir le message
    J'ai fait un test tout bête :
    Je ne pense pas que la complexité de ton test soit comparable à celle d'un extrait du code noyau. Après, il est évident que les compilateurs sont de plus en plus doués pour générer du code efficace quelle que soit la structure de langage utilisée.

  3. #23
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2012
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut overflow
    Je ne suis pas d'accord avec Linus sur le principe.

    Une fonction bien nommée comme overflow_usub() apporte du sens au test (mtu < hlen + sizeof(struct frag_hdr) + 8).
    Si on doit tester plusieurs fois l' "overflow usub" dans le code Linux, dupliquer l'expression (mtu < hlen + sizeof(struct frag_hdr) + 8) me semble une mauvaise idée car si le test devait changer ( par exemple 8 devient 16), il faudrait rechercher dans le code le sens des inégalités... Aie!!!

    Par contre la signature de overflow_usub() me paraît très bizarre...

  4. #24
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 957
    Points
    957
    Par défaut
    Citation Envoyé par Chuck_Norris Voir le message
    Et je préfère largement trouver "8" qu'une constante "EIGHT".
    Je considère que ni l'un ni l'autre n'est une bonne pratique. un "8" magique est à banir, et définir un constant "EIGHT" pour remplacer "8" est une pratique stupide et peut être naive de la programmation. On ne donne pas un nom à une constante pour la remplacer facilement plus tard, le nom doit être explicite de ce que représente cette constante pour documenter implicitement le code.
    Entre "8" ou "EIGHT" et quelque chose comme "PROCESS_HEADER_SIZE" il y a un monde quand même.
    http://www.pocketmt.com GLCD Font Creator home site.

  5. #25
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Ouais !

    D'autant plus que, comme l'a dit quelqu'un, si jamais elle doit changer de valeur, ça va être le bazar. Non mais, vous imaginez
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  6. #26
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    de ce que je peux comprendre du message de Torvalds,
    The conflict I get is due to stupid new gcc header file crap.
    il me semble que c'est à gcc qu'il s'en prend, et ses "particularismes", non ? Ce n'est d'ailleurs pas la première fois qu'il en a après gcc.

    et, forcément, ceux qui les utilisent ne sont pas oubliés. :/
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  7. #27
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 2
    Points : 6
    Points
    6
    Par défaut Antiquités
    A la vitesse a laquelle evolue l AI je soupçonne que le problème fondamental est que ce genre de bricoles ne devraient pas être du domaine des hommes.

  8. #28
    Membre chevronné Avatar de nirgal76
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2007
    Messages
    905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 905
    Points : 2 127
    Points
    2 127
    Par défaut
    Citation Envoyé par Neckara Voir le message
    Je mettrais ma main à couper que c'est exécuté en mode kernel.

    Dans ce cas là, un goto est parfaitement acceptable, ce qui ne veut pas dire qu'il faut en abuser et l'utiliser n'importe comment.
    .
    De toute façon, while, goto ou autre, ça finira en saut une fois compilé an asm
    Je dirais que le "+8" placé magiquement me dérange beaucoup plus que le goto.

Discussions similaires

  1. Google annonce la disponibilité générale d'App Engine pour PHP
    Par Stéphane le calme dans le forum Cloud Computing
    Réponses: 3
    Dernier message: 10/07/2015, 15h34
  2. Réponses: 0
    Dernier message: 20/02/2015, 10h19
  3. Microsoft annonce la disponibilité générale du service Azure RemoteApp
    Par Stéphane le calme dans le forum Microsoft Azure
    Réponses: 2
    Dernier message: 05/12/2014, 16h36
  4. Google annonce la disponibilité générale de son service Cloud SQL
    Par Stéphane le calme dans le forum Cloud Computing
    Réponses: 0
    Dernier message: 21/02/2014, 11h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo