• [^] # Re: Mouais

    Posté par . En réponse au journal benchmark pour le fun. Évalué à 5.

    ouais, sauf qu'en mode déconnecté, il est tout sauf certain que le fichier texte reste dans l'espace d'adressage

    Ce n'est pas le but.

    et qu'il faille le relire à chaque fois.

    Lire un fichier de 250K depuis le cache VFS ne coute "rien" que ce soit via l'API standard ou mmap.

    Si tu en est là, tu fais fausse route avec PHP et ton modèle d'exécution. Mais tu n'as pas de problème à résoudre.

    Lorsque 2 personnes visitent une page à 2 secondes d'intervalles, le fichier reste en cache ou il ne l'est plus ?

    Théoriquement tu ne peux pas savoir. Mais sauf a avoir un demon qui stock tes valeurs en memoire tu ne peux pas faire mieux. Et clairement ce n'est pas ce que tu veux et ca n'en vaudra jamais le coup.

    En pratique la reponse sera oui. Si tu n'utilises jamais ton appli alors tu as des chances qu'une éviction ait eu lieu et de faire un miss. Mais tu t'en balance car ca veut dire que tu as une requete / jour. Que ca prenne 5ms on s'en fou. De toute facon ton script PHP à aussi été dégager dans ce cas...

    Note que tu as le même problème avec une DB, et que tu n'as toujours pas de problème à résoudre.

    Et comme la base de donnée est aussi un fichier, il faut des 2 cotés lire un fichier, en mode texte on lit les 500 lignes, en mode base on lit une seule ligne. C'est quoi le plus rapide ?

    Ca depend de ton utilisation.

    C'est justement pour ca que ton test est pourri.

    D'une part tu ne définis rien. Vas tu requeter une seule fois ou souvent ? As tu besoins de seulement quelques valeurs ? Etc.

    D'autre part tes deux implementation n'ont rien de comparables. Ta version fichier elle est pratique si tu veux faire plein de requêtes sur une case en particulier. Ta version DB elle ne le permet pas. Tu compares des choux et des carottes. Quel est le but de la mesure au final ?

    et c'est quoi la "bonne structure de représentation des données" ?

    Ca demande de savoir comment tu vas utiliser et quel est le problème. Et vu que ton bench ne veut rien dire, qu'il n'y a pas de contexte et que les deux implementations divergent...