Merci pour ta réponse Basile :-)
Citation
Basile STARYNKEVITCH
Avec suffisamment de RAM, ces fichiers seront dans le cache.
Je viens de vérifier avec
free et la mémoire (256 Mo) est pratiquement saturée. C'est d'ailleurs étonnant, il semblerait qu'il y ait un problème, je verrai ça bientôt.
Citation
Basile STARYNKEVITCH
A mon avis un disque virtuel n'est probablement pas nécessaire (sauf peut-être si tu es certain qu'ils sont tous très temporaires).
Oui, ce seront quelques fichiers de quelques octets seulement qui feront l'objet de nombreuses mises-à-jour. La perte de ces données en cas de coupure ou plantage n'aura pas d'importance.
Citation
Basile STARYNKEVITCH
Un tmpfs met (sauf erreur de ma part) les bouts de fichiers dans le swap s'il n'y a pas assez de RAM. Tu pourrais par exemple
mount -t tmpfs none /mnt/temp
et ensuite tout fichier créé dans /mnt/temp est virtuellement temporaire, au sens d'être en RAM (le disque n'est alors pas accédé).
Ce serait une solution intéressante, mais il faut alors bien s'assurer d'avoir de la RAM de libre pour l'employer, c'est bien ça ?
Citation
Basile STARYNKEVITCH
Par ailleurs, il se pourrait que pour communiquer entre programmes, des FIFOs ou des sockets Unix conviennent mieux. Bien sûr, ce ne sont pas des fichiers à accès aléatoire.
J'y ai pensé, mais le but est qu'un programme (écrit en C) mette à jour une donnée régulièrement et rapidement (presque à chaque seconde, une sorte de flux, en fait). Pendant ce temps plusieurs programmes viendraient lire la dernière donnée mise à disposition à n'importe quel moment (programmes écrits en shell ou en php voire les deux, on ne sait pas encore très bien comment on va s'y prendre) afin de mettre à jour une base de données et un site internet.
D'une part, je ne sais pas encore s'il sera possible de lire un FIFO en shell (en shell, je crois bien que c'est possible) ou en php. D'autre part, si je me rappelle bien mes cours de C-système, la lecture d'une file (FIFO) provoque le vidage de celui-ci, ce qui ne nous arrange pas puisque d'autres programmes devront venir consulter cette valeur.
Quant au socket, je ne vois pas très bien comment le mettre en œuvre dans ce cas de figure.
Citation
Basile STARYNKEVITCH
J'ai du mal à comprendre l'intérêt véritable d'un bench pour tout ça, car la performance sur les fichiers dépend du cache fichier, donc de l'état de la machine.
C'est juste histoire de vérifier si les performances sont au rendez-vous. Mais si tu me dis que même avec un disque virtuel les accès ne seront peut-être pas meilleurs que sur un disque physique du fait du cache fichiers, ça a effectivement moins d'intérêt...
J'espérais exploiter de manière simple les performances de la mémoire vive, je dois obtenir du temps réel ou presque, mais je sens que ça va se révéler très compliqué finalement... Sauf si quelqu'un a une solution pas trop complexe à mettre en œuvre. S'il s'agit d'utiliser tmpfs, comment s'assurer que de la mémoire vive sera disponible pour éviter toute écriture sur le disque physique ? Ça me rendrait un grand service :-)
----
Basile STARYNKEVITCH où on trouve mon mél
N.B. N'hesitez pas à consulter aussi mes
contributions antérieures.[/quote]