Prev: Vulcan Advantages (was Choice SQL Database)
Next: mySQL_msSQL_Oracle connection and other relations / ALL command
From: Alessandro Antonangeli on 10 Dec 2008 04:11 > > Solution: I am thinking about a App-loader, for copying the EXE and > DLL's from network to local. But I want to create a dynamic app-loader. > Has someone an example for this ? > This is a very basic, but working for coping newr files -- Ciao Alessandro method CopyNewer() class app .... NomiFile:=Directory(DaDove) FOR i=1 UPTO ALen(NomiFile) CopiaSePiuNuovo(DaDove,ADove,NomiFile[i][F_Name]) NEXT .... SELF:run(ProgramExeName) .... FUNCTION CopiaSePiuNuovo(DaDove,ADove,NomeFile) LOCAL DaFile,AFile AS FileSpec LOCAL DaData,AData AS STRING DaFile:=FileSpec{DaDove+NomeFile} IF !Upper(DaFile:Extension)=".LOG" //exclude log files AFile:=FileSpec{ADove+NomeFile} DaData:=DToS(DaFile:DateChanged)+AsString(DaFile:TimeChanged) AData:=DToS(AFile:DateChanged)+AsString(AFile:TimeChanged) IF DaData>AData DaFile:Copy(ADove) ENDIF ENDIF
From: Paul D B on 10 Dec 2008 04:56 Hi Dirk, Dirk (Belgium) wrote: > Paul and others > > The size of EXE is 2,5 MB > There are 19 DLL's , together for about 50 MB that's quite a lot, considering there are also the VO runtime DLL's. How long does it take to launch te EXE? (I know that is not your problem, it is the speed difference for opening the childwindow you are concerned about, but I'm just curious <g> ) > > EXE's and DLL are on the network. Is it on a Gigabit network? > If I create one big EXE with no DLL's, the problem is the same. > DLL's are loaded with loadlibrary() on the start of the program, so > before opening the childwindow. Why don't you load them when you really need them? You could check the presence of the DLL's at start(), but what is the use of having 19 DLL's if you are loading them all at once? > > The speed of 9 seconds with local EXE and 14 seconds for network EXE > is the mean of 5 times opening this childwindow. I think you want to say that it is the _average_ time for opening the childwindow, correct ? The first opening of > the childwindow is about 2 seconds slower, what I can understand. The > following openings have all the same time. I have tried to reproduce your problem here but: - our network is quite fast - we are using ADS - I don't have any application of that size So all my attempts to see if there is a difference between opening a childwindow from a local EXE or a remote EXE have failed miserably <g> But, I still think you need to redesign your application. Whether you can explain or not the 5 sec difference, from the users' point of view it is way too long. Imagine you could eliminate those 5 secs, then you still need 9 secs the childwindow. How do you explain the 9 seconds by the way? Is it the data access? Filtering? -- Paul
From: Geoff Schaller on 10 Dec 2008 05:43 You aren't giving us anything reasonable to work with! What you suggest is not commonly experienced although if you have 19 DLL's then your design is seriously wrong. You will be incurring your own overhead through prototypes. Turn everything into one giant exe. Use UPX to compress it. Test that But who knows what your network is like, what kind of latency is in there and so on. I hope it is a GB network and not 100MB, for instance. Do you have a packet switch or a dumb hub? There are definitely code design issues here but you need to help us. Geoff "Dirk (Belgium)" <dirk.dot.herijgers(a)pbprojects.dot.be> wrote in message news:l5r%k.9766$So1.3927(a)newsfe01.ams2: > Geoff Schaller wrote: > > > > Dirk, > > > > Ok, then clearly the issue is the number of tables which are needed > > to be opened for each tab (that is why we only ever build a tab on > > its first show or select). The next problem is that subdatawindow and > > databrowser are exceptionally slow when compared to bBrowser. A > > factor of 10 times improvement is not out of the question. > > > > I consider any window which takes 3 seconds to open as taking too > > long. Our benchmark is subsecond. > > > > Geoff > > > > > > > > > Geoff, > > You still not understand it. The databases are in both situations > located at the server. > > I agree with you that 9 seconds are too long, BUT WHY is there a > difference in time, between a local EXE and a network EXE ? > > Dirk > > -- __________ Information from ESET NOD32 Antivirus, version of virus signature database 3681 (20081210) __________ The message was checked by ESET NOD32 Antivirus. http://www.eset.com
From: Phil Mermod on 10 Dec 2008 05:53 Hi Dirk, In some customers' sites we had this kind of problem then we applied the following changes and this helped. Hope this will help yours too : http://support.microsoft.com/kb/296264 Cheers, -- Phil Mermod Crystal Reports Library for Visual Objects http://www.pkl.ch/dev/ Dirk (Belgium) wrote: > Hi All, > > Does someone has an explication for the following : > > I have a application with a small EXE and big DLL's written in > VO. > > All data (DBF) are located on a server (XP Professional). > > Inside this programm, I have a big childwindow with several > tabs a subdatawindows en subdatabrowsers... > > When opening this big childwindow, it takes about 14 seconds > before the window is opened. > > When I place the EXE and DLL on the local machine, but the > data still stay on the network, the big childwindow takes > about 9 seconds for opening !!! > > I does not expect that the place of the exe take such a long > time (!). The time measured is only the time to open this > window, not the time to open the program, so EXE and DLL's are > already fully loaded... > > Can someone give me an explanation, or some reason, or links > to the internet with the same performance issue ??? > > > Thanks for all your replies, > > Dirk (Belgium)
From: Massimo Bighelli on 10 Dec 2008 06:20
Geoff, I always make one giant exe and I am happy with this approach BUT I stopped using UPX because of same strange problem compressing exe created with cctl6.man resource created. What version of UPX and what parameters do you use? TIA Massimo Bighelli ARCA Sistemi S.r.l. "Geoff Schaller" <geoffx(a)softxwareobjectives.com.au> ha scritto nel messaggio news:d3N%k.1034$cu.904(a)news-server.bigpond.net.au... > You aren't giving us anything reasonable to work with! > > What you suggest is not commonly experienced although if you have 19 DLL's > then your design is seriously wrong. You will be incurring your own > overhead through prototypes. > > Turn everything into one giant exe. > Use UPX to compress it. > Test that > > But who knows what your network is like, what kind of latency is in there > and so on. I hope it is a GB network and not 100MB, for instance. Do you > have a packet switch or a dumb hub? > > There are definitely code design issues here but you need to help us. > > Geoff > > > > "Dirk (Belgium)" <dirk.dot.herijgers(a)pbprojects.dot.be> wrote in message > news:l5r%k.9766$So1.3927(a)newsfe01.ams2: > >> Geoff Schaller wrote: >> >> >> > Dirk, >> > >> > Ok, then clearly the issue is the number of tables which are needed >> > to be opened for each tab (that is why we only ever build a tab on >> > its first show or select). The next problem is that subdatawindow and >> > databrowser are exceptionally slow when compared to bBrowser. A >> > factor of 10 times improvement is not out of the question. >> > >> > I consider any window which takes 3 seconds to open as taking too >> > long. Our benchmark is subsecond. >> > >> > Geoff >> > >> > >> > >> >> >> Geoff, >> >> You still not understand it. The databases are in both situations >> located at the server. >> >> I agree with you that 9 seconds are too long, BUT WHY is there a >> difference in time, between a local EXE and a network EXE ? >> >> Dirk >> >> -- > > > __________ Information from ESET NOD32 Antivirus, version of virus > signature database 3681 (20081210) __________ > > The message was checked by ESET NOD32 Antivirus. > > http://www.eset.com > > |