Subject: so compression is a bit broken

so compression is a bit broken

From: Daniel Stenberg <>
Date: Thu, 21 Oct 2010 23:08:56 +0200 (CEST)

Hi friends,

o I committed my recent ramblings into the TODO document to keep them
   available, not the least for myself to find when I get some inspiration to
   work on libssh2.

o In my local version I've now introduced an API to enable/disable compression

o I've reworked the buffer/malloc handling in _libssh2_transport_write() and
   the compression of outgoing data. It no longer uses malloc at all and the
   compressed data gets copied one less time. It seems to have boosted SFTP
   upload speed by perhaps 10% but it's not complete yet so all comparisons
   are a bit uncertain still. (and it is only within that single function,
   there's much more to gain by doing similar work in other functions too)

   The speed comparison was SFTP upload ~1000MB to localhost (dual core
   2800MHz Athlon 64):

      Before my patch: 56 seconds (18MB/sec)
      With my patch: 49 seconds (20MB/sec)
      OpenSSH's sftp: 19 seconds (52MB/sec)

o I then found out that uploading with compression failed. I reverted all
   the way back to 1.2.7 status and what do you know? It still fails. I wonder
   if sending compressed SSH packets have not worked for a very long
   time! The good news is of course that I didn't break it now. The bad news is
   of course that it is a pain to debug and fix...

   But since it already was broken, I think I'll postpone the debugging of it
   for now and focus more on the buffer reworks.

Received on 2010-10-21