josmas / openwonderland

Automatically exported from code.google.com/p/openwonderland
GNU General Public License v2.0
3 stars 5 forks source link

Open Wonderland client startup accelerate over internet. #328

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Hello,

The process for the client to check and optionally updates its modules is the 
following:

1. Get the module list installed on server.
2. For each module it grabs from server its checksum.
3. For each module it grabs from server its repository URL.
4. Download modules if the checksum is different from local one or the module 
doesn't exist locally.

This model is particularly ineffective on Internet due to the LATENCY. Doesn't 
matter how much your bandwidth is, the latency is the same. Also if you connect 
from Europe to America is even worse. 

I am including a patch which dramatically reduces the startup time reducing the 
requests to server and consolidate information in fewer ones. Also due to the 
info transmitted in each request is bigger the patch enable gzip compression to 
take advantage and reduce the download time.

The new process is:

1. Get the module list installed on server, including its checksums and 
repository URL compressed using gzip.
2. Download modules if the checksum is different from local one or the module 
doesn't exist locally.

Apply the patch in the trunk directory:

~/src/wonderland/trunk> patch -p 0 <checksum-gzip-performance.patch

In my tests the start-up time between I press the Login button until the window 
disappear lowered from 23seg to 6s

test it.

Original issue reported on code.google.com by crrami...@gmail.com on 4 Oct 2014 at 2:31

Attachments: