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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Linus Torvalds met volontairement des tabulations arbitraires cachées dans Linux 6.9
Après un commit qui remplaçait une tabulation par un espace pour faciliter la lecture de fichier par les outils de parsing

Le , par Stéphane le calme

75PARTAGES

15  0 
Linux 6.9 démarrera beaucoup plus rapidement pour les systèmes dotés d'une grande quantité de RAM
grâce à une série de mises à jour, en particulier pour ceux qui utilisent des pages HugeTLB

Le noyau Linux 6.9 promet une avancée significative pour les utilisateurs disposant de systèmes avec de grandes quantités de mémoire RAM. Grâce à une série de mises à jour, le processus de démarrage sera nettement plus rapide, en particulier pour ceux qui utilisent des pages HugeTLB.

Qu’est-ce que cela signifie pour les utilisateurs ?

Pour les systèmes possédant un grand nombre de pages HugeTLB, cette optimisation se traduira par une réduction considérable du temps de démarrage. Par exemple, sur un système de 2 To, l’initialisation de 1 800 pages de 1 Go prend actuellement entre 1 et 2 secondes sur un total de 10. Sur un hôte Intel de 12 To, l’initialisation de 11 776 pages de 1 Go peut prendre plus d’une minute. Ces durées seront désormais réduites grâce à la parallélisation de l’initialisation des pages HugeTLB lors du démarrage.

Comment cela a-t-il été réalisé ?

Le développeur Linux Gang Li de Bytedance a consacré beaucoup de temps à cette série de correctifs, qui ont fait l’objet de multiples révisions pour parvenir à une exécution efficace. L’infrastructure existante du noyau, comme padata_do_multithreaded, a été utilisée pour parvenir à ces résultats avec des modifications minimales.

Quels sont les bénéfices ?

Pour les serveurs très importants, souvent utilisés par les hyperscalers et d’autres grandes organisations où la disponibilité des services et le temps de fonctionnement du système sont cruciaux, ces améliorations du temps de démarrage en cas de redémarrage nécessaire sont d’un avantage significatif.


Conclusion

La version 6.9 du noyau Linux représente un pas de géant vers l’efficacité et la rapidité, en particulier pour les systèmes de grande envergure. Cette mise à jour est un exemple de l’engagement continu de la communauté Linux pour l’amélioration et l’innovation technologique.

Source : kernel lore

Et vous ?

Quelle est votre expérience avec les précédentes versions de Linux et comment pensez-vous que la version 6.9 va améliorer votre utilisation quotidienne ?
Comment l’accélération du démarrage affectera-t-elle votre productivité ou celle de votre entreprise ?
Avez-vous déjà été confronté à des problèmes de lenteur au démarrage en raison de grandes quantités de RAM ? Comment avez-vous géré cette situation ?
Quelles fonctionnalités aimeriez-vous voir dans les futures mises à jour du noyau Linux pour répondre à vos besoins spécifiques ?
Quel impact pensez-vous que ces améliorations auront sur l’avenir des systèmes d’exploitation open source ?
Vous avez lu gratuitement 2 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de air-dex
Membre expert https://www.developpez.com
Le 24/04/2024 à 23:10
T'indentes comme les guidelines de disent de le faire. Linux impose les tabulations ? T'indentes avec des tabulations, point barre ! Un projet Python choisit de respecter le standard Python alias PEP 8 ? T'utilises des espaces. Idem avec un projet PHP décidant de respecter la PSR-12. Le plus important est de respecter l'équipe et les décisions quant au guide de style prises pour le projet.

Personnellement j'ai toujours été pro-tabulations. L'indentation avec les espaces c'est comme les bises quand on se dit bonjour : personne n'a le même nombre. Alors qu'une tabulation sera toujours une unité d'indentation partout. La simplicité à l'état brut. Mais est-ce pour autant que je force sur les tabulations s'il a été décidé de mettre des espaces ? Non.
8  0 
Avatar de Dave Hiock
Membre confirmé https://www.developpez.com
Le 19/04/2024 à 11:07
\ô/
un des intérêt de la tabulation est le partage des sources qui selon le développeur pourra configurer la largeur comme bon lui semble au travers de son éditeur, 2 ,4, 8 ou autres et ce pour son confort visuel.
Le gain de taille pouvant être anecdotique compte tenu de la minification pouvant être appliquée au final.
8  1 
Avatar de sebdev200
Membre à l'essai https://www.developpez.com
Le 19/04/2024 à 10:10
Citation Envoyé par fodger Voir le message
La raison de préférer l'espace à la tabulation est tout simplement que l'espace a toujours la même valeur unitaire quelque soit l'os, l'éditeur, ce qui n'est pas le cas pour la tabulation.
C'est pour cela qu'un éditeur qui puisse changer, en temps réel, la largeur d'une tabulation par la molette de souris permettrait de retrouver facilement la bonne identation.
6  0 
Avatar de Docox2
Membre à l'essai https://www.developpez.com
Le 19/04/2024 à 14:25
Lorsque jeune je codais sur cartes perforées et utilisais une machine à écrire mécanique, la tabulation était variable au gré de l'utilisateur qui lui-même réglait ses taquets.
Dans la bataille en cours je me rends compte que les protagonistes utilisent tous les deux, espaces et tabulations, à mauvais escient.
La touche de tabulation sur la machine à écrire permettait d´atteindre une position sur une ligne sans taper de multiples fois sur une touche. Mettre deux tabulations successives est donc une ineptie au même titre que mettre plus de deux espaces consécutifs.
Le but recherché est une indentation de texte pour un visuel confortable.
Dans le cadre de la majorité des codes, nul besoin de mettre d´espace ou de tabulation en début de ligne: chaque caractère comptait et se payait sur une carte perforée!
Une simple analyse du code par un outil convenable, même sans IA, permet d'afficher ce code avec l'indentation souhaitée. C'est ce que font beaucoup d'IDE. Gain d'espace, gain de temps, et tous les parsers peuvent extraire les données.
Utilisons des outils modernes et adaptés au lieu de disserter sur des blancs inutiles du point de vue de la majorité des langages informatiques!
6  0 
Avatar de sami_c
Membre averti https://www.developpez.com
Le 19/04/2024 à 10:47
Pour info Stackoverflow avait fait une étude amusante qui démontre que les fans des espaces gagnent plus que ceux des tabs

https://stackoverflow.blog/2017/06/1...oney-use-tabs/
5  0 
Avatar de Dominiqly
Membre à l'essai https://www.developpez.com
Le 21/04/2024 à 17:06
Historiquement (sur les machines à écrire), la touche tabulation servait à propulser la tête d'écriture jusqu'au prochain taquet. Les taquets doivent donc être préalablement positionnés.
Rien de tel avec les éditeurs de texte ni avec les commandes comme less ou diff.
Donc il semble logique de ne pas utiliser de caractères de tabulation. Je ne mets que des espaces (avec expandtab sous Vim).
Néanmoins je peux comprendre la réaction de Linux Torvald : si un outil est perturbé par un simple caractère de tabulation alors il faut corriger l'outil au lieu de corriger tous les sources. Le caractère de tabulation doit donc être accepté et traité, si nécessaire, avec un espacement de 8 car c'est l'espacement par défaut de très nombreux terminaux (lire la commande "tabs" par exemple).
4  0 
Avatar de Aurelien.Regat-Barrel
Expert éminent sénior https://www.developpez.com
Le 23/04/2024 à 12:50
Citation Envoyé par djm44 Voir le message
Tout cela est bien futile . On dirait une polémique de bureaucrates .
Cela porte un nom : https://fr.wikipedia.org/wiki/Loi_de...9_de_Parkinson
4  0 
Avatar de Metal3d
Membre habitué https://www.developpez.com
Le 20/04/2024 à 0:27
L'intérêt de la tabulation, et c'est la raison qui a poussé les créateurs de Go d'utiliser cette règle dans les formateurs de code, c'est que ça ne vaut qu'un octet, et que les éditeurs peuvent définir comment l'afficher. Par exemple sur NeoVim, je préfère afficher les tabulations avec 4 espaces en Go, 2 pour typescript et Python, 4 pour le C... Alors que mes collègues vont préférer utiliser 4 partout, ou 8, ou 2... On a tous le même fichier, aucun conflit, c'est l'affichage qui change.

Franchement, j'étais pro espace plus jeune, mais je me suis rendu compte de mon erreur.

Voilà...
3  0 
Avatar de Daïmanu
Membre émérite https://www.developpez.com
Le 19/04/2024 à 10:38
Citation Envoyé par Stéphane le calme Voir le message
[*]Considérations relatives au stockage : [...] Cela signifie que si une tabulation représente visuellement 4 ou 8 espaces, elle n'occupe que l'espace de stockage d'un seul caractère.
Je serais curieux de quantifier cette affirmation.

A priori (calcul très rapide), si je prends une ligne de 50 caractères (en moyenne), et mettons 8 espaces en moyenne, ça ferait 16% de caractères dans le code utilisés pour la tabulation. Si c'est 2 tabulations, ça descend à 4%.

Mais ça peut dépendre de la taille des lignes, des équipes, etc.

Je me demande aussi si git compresse bien ces espaces dans les repository.
2  0 
Avatar de esperanto
Membre émérite https://www.developpez.com
Le 19/04/2024 à 15:29
Citation Envoyé par Dave Hiock Voir le message
\ô/
un des intérêt de la tabulation est le partage des sources qui selon le développeur pourra configurer la largeur comme bon lui semble au travers de son éditeur, 2 ,4, 8 ou autres et ce pour son confort visuel
Oui c'est vrai aussi

Citation Envoyé par fodger Voir le message
Pour une bête histoire d'alignement tu peux avoir un maximum d'emmerdements.
Y'a rien de plus chiant pour la lecture du code sur des projets conséquents que de devoir reprendre des mises en pages parce que personne n'a la même configuration d'un éditeur, plateforme à l'autre.

La simplicité a du bon : KISS.
Et donc c'est quoi ta recommendation "simple"?

Citation Envoyé par Docox2 Voir le message
Lorsque jeune je codais sur cartes perforées et utilisais une machine à écrire mécanique, la tabulation était variable au gré de l'utilisateur qui lui-même réglait ses taquets.
Dans la bataille en cours je me rends compte que les protagonistes utilisent tous les deux, espaces et tabulations, à mauvais escient.
[...]
Dans le cadre de la majorité des codes, nul besoin de mettre d´espace ou de tabulation en début de ligne: chaque caractère comptait et se payait sur une carte perforée!
Du temps de la carte perforée on programmait principalement en Cobol, Basic ou assembleur. Donc des langages à programmation "spaghetti" où il y a rarement des structures à plus de deux niveaux d'imbrication.
Pour les langages à structure de bloc, c'est une autre histoire.
2  0