Pour ajouter de l'eau à ton moulin, dans ton sens, si tu mappes une zone mémoire entre deux processus,
il va aussi te falloir gérer les accès concurrentiels,
et du coup, utiliser un socket est nettement plus simple
Cela reste du traitement par flux.
C'est assez peu adapté lors de gros échanges de données et lorsque que l'on doit pouvoir se positionner dans la zone (fseek/lseek). Je pense en particulier aux traitements vidéo où l'on doit entrelacer et dé-entrelacer des blocs.
C'est là que l'on utilise mmap, associé à une mémoire partagée (shm_), par exemple.
S'il s'agit d'un fichier, on peut aussi partager le descripteur de fichier via une socket unix.
Bref, sans plus de détails, on ne pas dire ce qui est "mieux".
Et si l'on cherche à atteindre ou améliorer des performances (consommation et/ou vitesse), il faut faire des mesures.
[^] # Re: quelques pistes ...
Posté par David Marec . En réponse au message difference entre mmap() et read(). Évalué à 2.
Cela reste du traitement par flux.
C'est assez peu adapté lors de gros échanges de données et lorsque que l'on doit pouvoir se positionner dans la zone (
fseek/lseek). Je pense en particulier aux traitements vidéo où l'on doit entrelacer et dé-entrelacer des blocs.C'est là que l'on utilise
mmap, associé à une mémoire partagée (shm_), par exemple.S'il s'agit d'un fichier, on peut aussi partager le descripteur de fichier via une socket unix.
Bref, sans plus de détails, on ne pas dire ce qui est "mieux".
Et si l'on cherche à atteindre ou améliorer des performances (consommation et/ou vitesse), il faut faire des mesures.