accueil produits télécharger acheter support info FORUM a propos  
   
Software information & help

Information & aide

Logiciels recommandés

Translation manuals

Beta-test

Developers reports

Reports from our developers. How we are working to improve our program. How we are testing it.

Report #1 (25/04/2005)

Works at 2.6.8 Beta builds 166. Loading time optimization. How we testing our program with the 10 000 of disks.

Results

After hard and precise work, CD Bank can load and proceed the huge catalog with 10 000 (ten thousands) of disks. Time of catalog loading is less than 1 second on our testing machine.

That is mean what each our user can be sure - CD Bank can work fast and simple with no limit to the number of disks.

We are proud to announce the history of our work.

Why we are doing that?

Once the time, we are testing our CD Bank with big disk base - more then 250 disks, and it works fine. Then we generate the test base with 500 of disks, we have seen the loading delay then programs starts. Test base with 1000 of disks loads more than 30 seconds. Moreover, search dialogs shows after the same pause too.

Our most vigorous and assiduous testers tell us what CD Bank starts very slow with 500 disks on the board.

We should be correct it. We make a promise to count each suggestion. And we should be as good as one's word.

What we are doing

At closer examination, we found the source of problem. CD Bank builds the tree of groups and disks for displaying it in the main window (group tree in the left side) and in the search parameters dialog ("Look in." combo). Building process was very non-optimal. As result, making of group tree takes more and more times for each new element (so-called "geometric series"). Work with 1-10-100 disks was fast, but with new disks building time become quickly increasing, and 500's disk adds very long.

We found the bottleneck, rewrite the necessary part of program, and testing the result.

Testing

For testing, we generates the several CD Bank base with incremental disk count, and check the loading time with each one - with old program (bottleneck in "build 165") and with new one (optimized "build 166").

Here you can see the testing data and they graphical representation (tested on Intel Pentium M 1400 MHz / 512 MB RAM / Windows 2000 Prof SP2).

Disk count Time (sec)
old "build 165"
Time (sec)
optimized "build 166"
250 0,31 0,03
400 1,022 0,09
500 1,432 0,11
600 1,822 0,1
750 2,744 0,09
1 000 4,716 0,09
1 500 10,205 0,13
2 000 18,086 0,19
2 500 27,569 0,21
3 000 39,387 0,27
4 000 69,56 0,37
5 000 108,536 0,47
6 000 156,655 0,54
7 500 244,722 0,701
10 000 437,569 0,911

Graphical representation. Blue line mean old, non-optimized version. Red line mean new.

As you can see, old "build 165" takes more than 7 min (437 sec) to load the 10 000 of disks. New "build 166" takes less than 1 sec. That is the evident result!

Here you can see the screenshot of 10000 disks catalog (50 kb, opens in new window).

On Beta-test page you can download the testing database (600 disks) and check the CD Bank speed on your computer.

overview | products | download | order | support | info | about