14-03-2011, 02:38 PM
(Modification du message : 14-03-2011, 02:38 PM par Sephi-Chan.)
Justement, ton système ne charge pas la carte en mémoire une seule fois, il la charge en mémoire pour chaque script et libère cette mémoire à la fin du script.
À mon sens, beaucoup de créateurs amateurs ont un problème avec le stockage des données : vous cherchez souvent à réinventer la roue alors que vous n'avez pas d'expérience dans ce domaine. Les systèmes de fichiers, l'utilisation de la mémoire, et tout ce qui concerne les entées/sorties en général est un domaine complexe.
Vous devriez plutôt utiliser les systèmes existants : ils sont construits par des ingénieurs compétents et leurs caractéristiques spécifiques sont connues et reconnues. Certains sont conçus pour être rapide en écriture et/ou lecture, d'autres pour stocker des masses de données importantes, d'autres pour supporter la concurrence, etc.
Ne vous arrêtez pas à des observations que vous faîtes quand vous chargez une malheureuse page qui ouvre un malheureux fichier. Imaginez (et testez) ce que ça donne avec la masse de joueurs que vous attendez.
Je n'ai pas cette expérience non plus, et c'est précisément pour ça que je ne réinvente pas ces systèmes. Seulement, je m'intéresse aux outils et je lis beaucoup pour essayer de déterminer quand utiliser quoi.
Je n'ai pas de solution directe à ton problème. Pour avancer, il faudrait savoir comment fonctionne ta carte : ce que tu as besoin de stocker, le volume d'information, comment on doit récupérer les informations (va-t-on tout charger d'un coup ? Ou va-t-on découper l'espace ?), etc.
Ne cherche pas tout de suite à savoir comment stocker telle ou telle information : ce n'est pas important de savoir si tu vas indiquer que telle case est une forêt grâce à un entier que tu feras correspondre à quelque chose ou directement avec une chaîne de caractère.
Sephi-Chan
- Si tu veux travailler en mémoire une bonne fois pour toute, c'est plutôt vers Memcached ou Redis qu'il faut se tourner ;
- Il y a également d'autres approches très efficaces pour stocker de gros volumes de données : MongoDB par exemple ;
- Les bases de données relationnelles, plus traditionnelles, sont très efficaces ;
À mon sens, beaucoup de créateurs amateurs ont un problème avec le stockage des données : vous cherchez souvent à réinventer la roue alors que vous n'avez pas d'expérience dans ce domaine. Les systèmes de fichiers, l'utilisation de la mémoire, et tout ce qui concerne les entées/sorties en général est un domaine complexe.
Vous devriez plutôt utiliser les systèmes existants : ils sont construits par des ingénieurs compétents et leurs caractéristiques spécifiques sont connues et reconnues. Certains sont conçus pour être rapide en écriture et/ou lecture, d'autres pour stocker des masses de données importantes, d'autres pour supporter la concurrence, etc.
Ne vous arrêtez pas à des observations que vous faîtes quand vous chargez une malheureuse page qui ouvre un malheureux fichier. Imaginez (et testez) ce que ça donne avec la masse de joueurs que vous attendez.
Je n'ai pas cette expérience non plus, et c'est précisément pour ça que je ne réinvente pas ces systèmes. Seulement, je m'intéresse aux outils et je lis beaucoup pour essayer de déterminer quand utiliser quoi.
Je n'ai pas de solution directe à ton problème. Pour avancer, il faudrait savoir comment fonctionne ta carte : ce que tu as besoin de stocker, le volume d'information, comment on doit récupérer les informations (va-t-on tout charger d'un coup ? Ou va-t-on découper l'espace ?), etc.
Ne cherche pas tout de suite à savoir comment stocker telle ou telle information : ce n'est pas important de savoir si tu vas indiquer que telle case est une forêt grâce à un entier que tu feras correspondre à quelque chose ou directement avec une chaîne de caractère.
Sephi-Chan