• [^] # Re: Pffff

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

    Je ne sais pas trop ce que tu veux dire par "en frontend", mais beaucoup de jeux utilisent un langage GC comme langage principal et pas seulement comme langage de script.

    Regarde ce qui se fait avec les cadriciels Java (libgdx, lwjgl), Python (pygame), C# (monogame, Unity), Lua (Löve).

    L'accès aux API graphique/sonore/inputs se font toujours en C, mais la majorité du code et donc des allocations mémoires sont pris en charge par le GC.

    Pourquoi ces jeux sont fluides et n'ont pas de gros ralentissements dû à un ramasse miette Arrête Le Monde? Parce que d'une part, comme je l'ai déjà dit, les GC modernes ramassent les mettes de façon incrémentales et concurrentes, d'autre part les développeurs de jeux font la chasse aux allocations/désallocations en pré-allouant un maximum de choses, en utilisant des pools, en préférant des tableaux fixes aux hashmaps dynamiques...

    Cette chasse est faite aussi dans les jeux en C/C++, car comme je l'ai déjà dit aussi, les malloc/free, c'est coûteux pour tout le monde, pas seulement quand c'est un GC qui les fait.

    Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board