This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [commit] Run length encoding for gdbserver


On Thu, Sep 21, 2006 at 01:54:48PM -0700, Michael Snyder wrote:
> On Thu, 2006-09-21 at 12:12 -0400, Daniel Jacobowitz wrote:
> > The remote protocol supports a simple run length encoding mechanism (in only
> > one direction - from the stub to the client).  This patch implements it in
> > gdbserver.  It doesn't make a huge difference to overall performance, but
> > can reduce the amount of data sent in some cases by 50%.
> 
> This should be a significant gain for libthread_db debugging, 
> where gdb does a lot of large memory reads behind the scenes.

Except none of those reads go over the remote protocol - we only use
libthread_db on the gdbserver side (plus qSymbol communication).

> For stack traces it may not make that much difference, since
> those reads are usually small.
> 
> Does it work for register packets too?

Yes.  It even works for 'T' packet responses... but that doesn't work
out, because the few characters we can't use to indicate the valid
length of RLE packets correspond to something like 6, 7, and 8 bytes.

-- 
Daniel Jacobowitz
CodeSourcery


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]