Ce jeu vidéo sorti en 2004 fait seulement 96Ko et rivalise avec les jeux de l'époque (Unreal Tournament, Quake) niveau graphismes.
Génération procédurale, streaming 3D, optimisation mémoire, c'est tout un éventail de techniques mise en œuvre pour réaliser cet exploit. (La plupart des images d'aujourd'hui sont plus volumineuses que ce jeu)
Ça rappelle les exploits similaires de la demoscene ou des vidéos 3D incroyables tiennent en quelques Ko d'assembleur.
Whoa Taichi est un langage compilé avec une syntax proche de Python qui permet de booster les performances d'un code python quasiment sans le modifier !
Simplement en important la librairie et en rajoutant des annotations, on peut avoir jusqu'à x100 en performances:
import taichi as ti
ti.init()
@ti.func
// python func here
Taichi exploite automatiquement le parallélisme des CPU de la machine et même du GPU.
Très bon explication sur les différences entre les Map
et les POJO en Javascript.
En substance:
- utilisez les POJO lorsque le nombre de clé est connu d'avance et en tant que Data Transfer Object (DTO)
- utilisez les
Map
pour tout ce qui s'apparente à un cache RAM et nécessite des insertions/deletions arbitraires
Lorsqu'elle sont bien utilisées, les Map
auront une meilleure performance, utilisent moins de RAM et offre une meilleure API plus complète POJO (e.g. Map.clear
) au prix d'une perte en DX (e.g. initialisation, spread operator)