Multi-Thread Upload/Downlaod


Can you add the ability to add multi-threaded upload and download and also set the number of threads?

Kind regards

PS Great software


Would second this. Currently, the upload slows to 10Kb/s when Insync is uploading small files eg php files, since Insync uploads 2 files at a time. If there was a way to set the number of threads, it would speed up the uploading considerably.


I’ll +1 you on this. :smile: Thank you for your support



Currently I am uploading ~200.000 small files and it looks like its going to take several days. :frowning:


Because the uploading process was painfully slow (less then 70.000 of 200.000 files transferred after more then 24 hours) I decided to do the change myself. Here is how:

  1. decompile /usr/lib/insync/isyncd.deskcore-0.0.0-py2.7.egg/idesksyncer/

     uncompyle2 syncworks.pyc | grep -v "+++ okay decompyling syncworks.pyc" >
     mv syncworks.pyc syncworks.pyc.bak
  2. Change the number of threads in replace size=3 and size=2 with whatever you want.

     self.__pools[gddb.WorkCategory.Two] = gevent.pool.Pool(size=3)
     self.__pools[gddb.WorkCategory.Three] = gevent.pool.Pool(size=2)
  3. Restart Insync

The sync is now much faster to me (30 files/min -> 200 files/min with size=30 and size=20).



Can you upload the file online for me, im getting syntax errors all over the place when i try to decompile it ;9



Due to legal reasons this is probably not a good idea but if you show me what syntax error you get I may be able to fix it for you :slight_smile:


I think that the problem is that it fails to decompile.
Maybe its the decompiler that i use because i cant get uncompyle2 to work ;/


What error message did you get?


357 POP_TOP None

358 LOAD_GLOBAL ‘gevent’
361 LOAD_ATTR ‘sleep’
364 LOAD_FAST ‘next_time’
370 POP_TOP None
371 JUMP_BACK ‘129’
374 POP_BLOCK None
375_0 COME_FROM ‘126’

Syntax error at or near `POP_BLOCK’ token at offset 374

decompiled 0 files: 0 okay, 1 failed, 0 verify failed

2015.09.08 19:02:27 West-Europa (zomertijd)


Did you use Python 2.7? On Linux? What distribution?


Python 2.7 on Windows 10.


+1 This is a must have feature. I have hundreds of files and it takes weeks while InSync uploads everything. It’s very annoying.

Does anybody knows what we need to do to have this feature?


Can you tell me how to do this on a Mac? Thanks!


100% this. I switched to Insync because as a developer, having exclude rules is HUGE (excluding node_modules and vendor folders).

Unfortunately, when I started syncing, I found out it’s going very slowly. 2 files at the same time? It’s gonna take ages. Seems to me like uploading multiple files is a very basic feature. Each of those 2 files are going painfully slow, and I still have almost 70.000 more.

Any word from Insync about this?


@johnRivs We are aware of this issue, but our devs is working hard on improving the syncing speed. Syncing is noticeably faster after the initial sync.

Happy New Year :smile:


When will this feature be available? It takes forever to sync a large amount of files and it only uses a small part of the available bandwidth. (Syncing from Linux with Insync 1.3.6)


@marte Could someone send me a file with 20 or 30 threads enabled so I can test if download is any faster?


@Peter: we’ll add support for changing it via environment variable / command-line argument on the next release. Thanks for the feedback.


i agree with the feature request.

another idea is that insync figures out by itself what the best number of parallel transfers is. call it “intelligent multi thread” and make it a major feature. for very small files it would transfer up to something like 20 files, in the middle area maybe 5 parallel connection and for large files it sticks to 2 parallel transfers.