World - Rust et Octrees
· 2 minutes de lecture
Dans cet article, nous allons voir le langage de programmation pour le service "World" ainsi qu'une technique.
Choix du langage
Golang
Avantages | Inconvénients |
---|---|
Performance élevée | Bibliothèques limitées pour certaines tâches spécifiques |
Facilité de déploiement | |
Concurrence | |
Simplicité et lisibilité |
Rust
Avantages | Inconvénients |
---|---|
Performance maximale | Courbe d'apprentissage |
Sécurité mémoire | Temps de compilation |
Concurrence |
Python
Avantages | Inconvénients |
---|---|
Simplicité et rapidité de développement | Performance |
Ecosystème riche | Concurrence |
NodeJS
Avantages | Inconvénients |
---|---|
Asynchronisme natif | Performance |
Écosystème riche | Sécurité |
Choix
Étant donné les exigences spécifiques en termes de performance et de précision, Rust semble être le meilleur choix pour le service "World".
Voici les raisons :
- Absence de Garbage Collection : Garantit des performances constantes sans pauses imprévues.
- Performance : Rust est généralement plus rapide que Go pour des applications nécessitant des performances maximales.
- Sécurité et Concurrence : La gestion de la mémoire sans erreurs et les primitives de concurrence sûres en font un excellent choix pour des applications critiques.
Octrees
Le système d'octree permet de représenté le monde dans un cube divisable par 8. Chaque cubes peuvent également être subdivisés en 8 si besoin.
Cette technique permet de positionner les objets et les créatures dans un espace restreint, plus facilement requêtable.