В рамках моего курса Uni нам показали и попросили использовать трубы для связи между процессами (используя pipe()
и fork()
) для нескольких небольших упражнений. Нет проблем, чтобы заставить его работать или с концепцией, но вне этих требований мне интересно, насколько эффективно писать и читать с помощью такого канала?Является ли чтение/письмо трубе дорогой операцией?
Если у меня есть значение, которое я упаковываю в блок из 4 байтов, лучше ли упаковать и записать 100 значений (так 400 байт) одновременно?
Или производительность сопоставима, если я делаю 100 записей каждый из 4 байтов?
Прокладывает ли 400 байтов за один прием, чтобы приемник ничего не делал до тех пор, пока запись не будет выполнена - предполагается, что приемник только пытается прочитать первые 4 байта, сможет ли он сделать это после их написания, но прежде все 400 закончилось?
Это было скорее любопытство, чем беспокойство, и это в значительной степени ответ, который я надеялся получить. Благодаря! – DMA57361