Tu dupliques la page contenant la variable, c'est donc bien plus lent que les threads qui ne dupliquent rien (hormis le PC).
Dans le cas d'un process qui fork tout de suite après sa création et qui met toutes les données partagées dans des shm, aucune donnée n'est inutilement dupliquée. En + on peut mettre les données partagées en read-only dans un shm à part, qui ne sera pas modifiable par les process lecteurs (et sans ralentir l'accès à ces données).
ce qu'il n'y pas besoin de faire avec les threads (en ce qui concernen la gestion du parallelisme).
De toutes façons un shm permet aussi un effacement automatique quand aucun process ne l'utilise.
Je suis d'accord que shm n'est pas facile, mais la sécurité et la fiabilité valent un effort. On peut simplifier en réutilisant du code ou des bibliothèques. Il y a même des bibliothèques shm pour perl et PHP...
[^] # Re: vs POSIX shared memory
Posté par free2.org . En réponse à la dépêche PTT : un outil de trace pour la NPTL. Évalué à 5.
Dans le cas d'un process qui fork tout de suite après sa création et qui met toutes les données partagées dans des shm, aucune donnée n'est inutilement dupliquée. En + on peut mettre les données partagées en read-only dans un shm à part, qui ne sera pas modifiable par les process lecteurs (et sans ralentir l'accès à ces données).
ce qu'il n'y pas besoin de faire avec les threads (en ce qui concernen la gestion du parallelisme).
De toutes façons un shm permet aussi un effacement automatique quand aucun process ne l'utilise.
Je suis d'accord que shm n'est pas facile, mais la sécurité et la fiabilité valent un effort. On peut simplifier en réutilisant du code ou des bibliothèques. Il y a même des bibliothèques shm pour perl et PHP...