на главнуюВсе эхи RU.UNIX.PROG
войти ?

Re: Эффективность менеджера памяти

От Vadim Guchenko (2:5020/400) к john gladkih

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


From: "Vadim Guchenko" <yhw@rambler-co.ru>

Hello, john!
You wrote to Valentin Nechayev on Wed, 27 May 2009 09:16:04 +0000 (UTC):

jg> Valentin> А зачем двигать данные? Hадо двигать указатели в
jg> Valentin> буферах. А передавать
jg> Valentin> данные из нескольких буферов через writev().
jg> казалось бы да, если бы не манера копировать из юзерспейса всех 100M данных в кернел и
jg> обломаться после передачи 10K ;(

А обычный write() не копирует?

Еще в writev() мне не нравятся две вещи. Во-первых то, что буфера передаются массивом, а не
связным списком. А во-вторых (и скорее всего это следствие первого) то, что этот массив имеет
максимальный размер, равный 1024 элементам. Получается, что если не нужна атомарность записи,
проще записать каждый буфер отдельным write(), как это и делает stdio, чем по связному списку
буферов строить массив для writev() и как-то обрабатывать ситуацию, когда этих буферов больше
1024.

--
Best regards, Vadim.


--- ifmail v.2.15dev5.4
* Origin: Demos online service (2:5020/400)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://RU.UNIX.PROG?msgid=<1187334647@mid.individual.net>+64b408e6