Feature: Optimizations

Optimize the easy parts

Get rid of some unneeded duplicate copying of information

  • There's a copy from the http.c server-side code (via storeAppend()) to the client_side.c client-side code (via storeClientCopy()) - in progress in s27_adri branch.
  • There's a copy out from the store memory into the client-side layer (via storeClientCopy()) - integrated into Squid-2.HEAD

Optimise the hard parts

  • The data copying involved in parsing http headers, URLs, and such from requests and replies - in progress in s27_adri branch.

Implement scatter-gather IO

Avoid having to use the packer to pack HTTP request/reply and headers into a buffer before write()ing to the network-side; this won't really be worth it until the copies are eliminated (above) and the stackable IO model is in.

Use readv() to read into partially-filled large buffers - the goal is to use larger buffers in the store memory if applicable to hold an entire object in on memory allocation.


Features/Optimizations (last edited 2015-09-21 04:39:23 by Amos Jeffries)