среда, 15 июня 2011 г.

Покупать оптом гораздо выгоднее

Это перевод It's more efficient when you buy in bulk. Автор: Реймонд Чен.

Ядро Windows XP не посылает сетевой запрос при каждом вызове FindNextFile. Вместо этого самый первый вызов FindNextFile отправляет "оптовый" (bulk) запрос к серверу и возвращает приложению только первую запись из ответа. Поэтому, когда приложение повторно вызывает FindNextFile, она просто возвращает очередную запись из буфера без выполнения сетевого запроса. Когда буфер истощается, FindNextFile выполняет новый "оптовый" запрос для заполнения буфера.

Такое поведение даёт значительное улучшение производительности при чтении содержимого больших папок, потому что оно уменьшает число запросов к серверу. В следующий раз мы увидим, что этот выигрыш может быть весьма значителен для некоторых типов серверов.

Но это также означает, что предложение вида "Ну, почему бы не попросить 101 файл и не посмотреть, не встретилась ли нам ошибка" не поможет этой проблеме (вообще-то мне кажется, что волшебным числом было 128, а не 100, но я буду продолжать называть его 100, раз уж я так начал делать). Значение 100 не было волшебным значением сервера. Это число было нашим собственным выбором: оптовый запрос спрашивал 100 файлов! Если мы изменим оптовый запрос, чтобы он просил 101 файл, то проблема просто будет появляться на 102-м файле.

Комментариев нет:

Отправить комментарий

Можно использовать некоторые HTML-теги, например:

<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>

Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку (поддерживается OpenID).

Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.

Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.