- From: Willy Tarreau <w@1wt.eu>
- Date: Tue, 14 Oct 2014 23:11:27 +0200
- To: Poul-Henning Kamp <phk@phk.freebsd.dk>
- Cc: Roberto Peon <grmocg@gmail.com>, Mark Nottingham <mnot@mnot.net>, HTTP Working Group <ietf-http-wg@w3.org>, Jeff Pinner <jpinner@twitter.com>
On Tue, Oct 14, 2014 at 06:57:43PM +0000, Poul-Henning Kamp wrote: > -------- > In message <CAP+FsNci+YbQ9fP9LiJ1BBUSDryWOqi4A4YsKyORskY7pK0Fmg@mail.gmail.com> > , Roberto Peon writes: > > >So, at worst, we're talking about adding an int instead of adding a const. > > It also means that the headers typically used by high-performance > load-balancers have variable numbers, rather than fixed numbers. > > That makes a BIG difference at the highest performance levels, > in particular for hardware assist. While in theory I agree that this is something to be considered for *hardware* implementations, in practice the cost remains extremely low by todays technologies. A typical 32-bit adder implemented in 45nm is 130 picoseconds [1]. Cut that in half for 16-bit. That's with outdated technology already and not pipelined at all. In short, it shows that a simple ASIC implemented with 2011 technology would face a hard limit of 7-14 billion headers per second simply due to this, so in this precise case I think that does not count, especially if we compare this to the cost of emitting the resulting data. But in general I tend to be very picky about microscopic costs that can significantly limit high speed processing! Best regards, Willy [1] http://www.mattkeeter.com/research/jackson.pdf
Received on Tuesday, 14 October 2014 21:11:58 UTC