LINUX.ORG.RU

История изменений

Исправление www_linux_org_ru, (текущая версия) :

Итого всего read - 2*N байт, write - N байт.

нет

ты думаешь, будто читаешь из файла только те строки, которые тебе нужны, но ОС (и диск) так не умеют — они читают страницами по 4 кб скажем, а ненужное тебе ОС или libc просто *выбрасывает*, но время это все равно занимает

т.е. реально у тебя читается с диска около N+(N/B)N = N²/B+N байт, что ты мягко назвал «меняется нелинейно», гы-гы (правда кэширование диска это смягчает)

а с учетом того, что seek диска на далекие расстояния существенно больше seek-а на рядом лежащую дорожку, можно условно, для расчета скорости, считать, что считывание с диска идет страницами по 1МБ или даже по 2МБ

Исправление www_linux_org_ru, :

Итого всего read - 2*N байт, write - N байт.

нет

ты думаешь, будто читаешь из файла только те строки, которые тебе нужны, но ОС (и диск) так не умеют — они читают страницами по 4 кб скажем, а ненужное тебе просто *выбрасывают*, но время это все равно занимает

т.е. реально у тебя читается с диска около N+(N/B)N = N²/B+N байт, что ты мягко назвал «меняется нелинейно», гы-гы (правда кэширование диска это смягчает)

а с учетом того, что seek диска на далекие расстояния существенно больше seek-а на рядом лежащую дорожку, можно условно, для расчета скорости, считать, что считывание с диска идет страницами по 1МБ или даже по 2МБ

Исправление www_linux_org_ru, :

Итого всего read - 2*N байт, write - N байт.

нет

ты думаешь, будто читаешь из файла только те строки, которые тебе нужны, но ОС (и диск) так не умеют — они считывают страницами по 4 кб скажем, а ненужное тебе просто выбрасывают

т.е. реально у тебя читается с диска около N+(N/B)N = N²/B+N байт, что ты мягко назвал «меняется нелинейно», гы-гы (правда кэширование диска это смягчает)

а с учетом того, что seek диска на далекие расстояния существенно больше seek-а на рядом лежащую дорожку, можно условно, для расчета скорости, считать, что считывание с диска идет страницами по 1МБ или даже по 2МБ

Исходная версия www_linux_org_ru, :

Итого всего read - 2*N байт, write - N байт.

нет

ты думаешь, будто считываешь из файла только те строки, которые тебе нужны, но ОС (и диск) так не умеют — они считывают страницами по 4 кб скажем, а ненужное тебе просто выбрасывают

т.е. реально у тебя считывается около N+(N/B)N = N²/B+N байт, что ты мягко назвал «меняется нелинейно», гы-гы (правда кэширование диска это смягчает)

а с учетом того, что seek диска на далекие расстояния существенно больше seek-а на рядом лежащую дорожку, можно условно, для расчета скорости, считать, что считывание с диска идет страницами по 1МБ или даже по 2МБ