<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hi Ruslan,</div><div><br></div><div>Recapitulating:</div><div>The problem is that opening time of the database after startup of Windows is very long.</div><div><br></div><div><font class="Apple-style-span" face="Helvetica">D</font><font class="Apple-style-span" face="Helvetica">evelop on Mac with RB 2008 2, and Valentina 3.5.2, and build for Mac and Windows.</font></div><div><span class="Apple-style-span" style="font-family: Helvetica; ">Mac OS 10.4.10, 1.0 GHz, 1 GB RAM. Recently Mac OS 10.5.6, 2.5 Ghz Intel Core 2 Duo, 4 Gb RAM</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica">Windows: XP, 1.7 GHz, 1.24 GB RAM</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica"><br></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica">Previous analysis:</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica">You stated: "...<span class="Apple-style-span" style="font-family: Arial; ">And now I see that although for VarChar I have provide LAZY read of header</span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="font-family: Arial; ">it is not made for BLOB. So this will be my FIRST step to improve your<br>issue."</span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">For my testing you have provided a Valentina Studio (v4) in which this is implemented. There was a reduction: from 40-45 sec. to 20-23 sec. </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Next, you considered the need for defragmentation:</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica"><span class="Apple-style-span" style="font-family: Arial; "> "...I see yet that Defragment() is not ported from 1.x code. Wow. :-(<br>So we must do this also of course.<br>MAY BE it also will improve things...</span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">You told me you would prepare a version in which this is implemented. I was waiting for that.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Present situation:</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Previously, the database resided on the harddisk. With a truly large DB this is not possible. So, I have changed my program such that it reads from a DVD and adjusted the installer accordingly.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">For testing, I prepared a DB that comes close in size (1.7 Gb) to what it will grow to (2-3-GB).</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Some recent results: note that on second opening without going out of Windows the time is always short (2-3 seconds).</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">DB 1.6 Gb on DVD:</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">From within the whole program (59 Mb for exe): 98-99 sec.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">From a test program (same code for opening DB but a minimum of other functions (34 Mb for exe): 47-55 sec</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">In VStudio (v4): 20-23 sec.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">So, VStudio is quite efficient. With my program, opening time seems DB-size-dependent. The result with the whole program will not be acceptable for most students.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The test program is a bit better, and during opening, it could be chained with the whole origram, causing a rapid opening the second time. However, even then I am afraid this would chase away most students.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Since the opening process is done from within Valentina, is it possible to catch and store the information that Windows stores in its cache? When this is done once at installation of the program, could that information then be reused when opening the program? Or Is this too wild an idea?</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">I'm sure you will have better ideas on how to deal with the problem.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Thanks and kind regards,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Leo</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Arial; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div><div>Leo Van den Brande</div><div>J. Buziaulaan 61, Utrecht</div><div>(+31) (0)30 2511767 </div><div><a href="mailto:leo_van_den_brande@wxs.nl">leo_van_den_brande@wxs.nl</a></div><div><br></div></div></div><br></div></span><br class="Apple-interchange-newline"> </div><br></body></html>