LINUX.ORG.RU

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

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

Конечно, метод крив донельзя. read’ы короткие, а memcpy тест трэшит CPU cache по самые помидоры. read’ы не могут быть дешевле memcpy по определению.

Предположим, web-сервер. Ответ весит килобайт 30 - это продукт gzip неких 100кб html, составленного из 5 походов в базу. Пока я этот ответ сформирую, вызвав походы в базу, поспав в ожидании ответов от базы (пробуждаясь на обработку http-запросов из других сокетов и совершая аналогичную возню отправкой запросов в базу), потом вызову шаблонизатор, какие-то ещё алгоритмы расцветки кода на станице, прочую гзиповалку… я уже непонятно сколько раз проедусь по кешам, свичну контекст и т.п. При чём тут «по определению»…

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

Конечно, метод крив донельзя. read’ы короткие, а memcpy тест трэшит CPU cache по самые помидоры. read’ы не могут быть дешевле memcpy по определению.

Предположим, web-сервер. Ответ весит килобайт 30 - это продукт gzip неких 100кб html, составленного из базы. Пока я этот ответ сформирую, вызвав походы в базу, поспав в ожидании ответа от базы (а пока я сплю, ожидая базу, поприходят какие-то другие http-запросы, которые я попарсю и поформирую какие-то SELECT-ы в базу), вызову шаблонизаторы и прочую гзиповалку… я уже непонятно сколько раз проедусь по кешам, свичну контекст и т.п. При чём тут «по определению», нет никакого определения.

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

Конечно, метод крив донельзя. read’ы короткие, а memcpy тест трэшит CPU cache по самые помидоры. read’ы не могут быть дешевле memcpy по определению.

Предположим, web-сервер. Ответ весит килобайт 30 - это продукт gzip неких 100кб html, составленного из базы. Пока я этот ответ сформирую, вызвав походы в базу, поспав в ожидании ответа (а пока я сплю, ожидая базу, поприходят какие-то ещё http-запросы, которые я попарсю и поформирую какие-то SELECT-ы в базу), вызову шаблонизаторы и прочую гзиповалку… я уже раз 10 затрешу все возможные кеши. «по определению» тут при чём, если мы про практику.