On Sun, Jan 27, 2013 at 12:50 PM, Jan Lehnardt <[email protected]> wrote:
> > On Jan 27, 2013, at 13:22 , Alexander Shorin <[email protected]> wrote: > > > On Sun, Jan 27, 2013 at 3:55 PM, Jason Smith <[email protected]> wrote: > >> > >> * Very little difference in different implementations (because stdio is > the > >> bottleneck) > > > > Why stdio is a bottleneck? I'm interesting underlay reasons. > > It is actually not the the stdio, but the serialisation form erlang-terms > to JSON to JS Objects to JSON to erlang terms. > > My assertion is *before* benchmarks so it is useless (maybe even worse than useless). But my guess: sending all that data from userland through the kernel and back to another process's userland. The protocol is synchronous: all messages from couch get an immediate response. So you have two trips like that for every RPC call. But yes it could also be all that JSON CODEC work. Interestingly if that is the problem, then my pet idea, shared memory, may not boost speed much, since Couch and the view server still need to encode the RPC calls. -- Iris Couch
