Pipe VS временный файл в оперативной памяти

Это ответ на классический вопрос: для передачи данных между двумя процессами следует использовать "трубу" или "временный файл".

Это обсуждалось здесь, для справки: труба против временного файла

Теперь, рассматривая только систему UNIX, которая может использовать tmpfs или ramfs (файловая система на основе RAM), мы можем писать временные файлы очень быстро.

В моем конкретном случае, данные - это файл изображения PNG размером 100Ko.

Какой вариант вы бы предпочли?

1 ответ

Решение

Даже когда разница в производительности не заметна, временные файлы все еще имеют недостатки: вам нужно выбрать имя, которое не будет конфликтовать с временными файлами любого процесса (возможно, включая другие процессы других пользователей, которые могут злонамеренно пытаться столкнуться с вы). И вы должны убедиться, что файл удаляется, даже если ваш процесс заканчивается ненормально.

Трубы потрясающие. Нет причин не использовать их.

Другие вопросы по тегам