there is an apparent slower startup time for VW 7.x as compared to 3.0,
this is based on the 7.x ported version of the 3.0 app and frankly is really only noticeable on an older machine which happens to be the machine my boss tests on :), this for what is basically a ported version, sure there are some mods but to me they don't account for the diffs. So I'm wondering how "in tune" is 7.x to the newer Pentium architectures? As compared to a PIII. Also how in tune is it to versions of Windows. The machine in question is running Windows 2000. If Eliot is listening, it would be nice to have something authoritative that I can show people here. thanks -- Charles A. Monteiro http://wiki.nycsmalltalk.org http://www.monteirosfusion.com http://monteirofusion.blogspot.com |
Charles A. Monteiro schrieb am 08.03.2007 20:32:
> there is an apparent slower startup time for VW 7.x as compared to 3.0, > this is based on the 7.x ported version of the 3.0 app and frankly is > really only noticeable on an older machine which happens to be the > machine my boss tests on :), this for what is basically a ported > version, sure there are some mods but to me they don't account for the > diffs. > > So I'm wondering how "in tune" is 7.x to the newer Pentium > architectures? As compared to a PIII. Also how in tune is it to versions > of Windows. The machine in question is running Windows 2000. Hello Charles, although I certainly don't know exactly about what has changed, I somehow doubt that 7.x has longer startup times. It certainly was not my impression when our project did the upgrade. However, there may be reasons why your app starts up slower: - Memory policy and ObjectMemory sizesAtStartUp: The VM has changed quite a bit between 3.x and 7.x, becoming a lot faster, and much more efficient in free list management. This may require different settings of the MemoryPolicy parameters and the sizesAtStartUp. Are they the same in the two versions? Have there been changes in the MemoryPolicy code? E.g., it may slow down startup if the preferredGrowthIncrement and the growthRegimeUpperBound are too low, or if NewSpace is too small and many temporary objects are created. - In 7.x, the image may be saved compressed - decompression of the image may add to the startup time. - Did you actually measure if the modifications between the two versions really don't account for the difference? Sometimes, I am surprised when my performance optimizations slow down the application... ;-) - Is there anything in the 7.x image which wasn't in 3.x? Maybe a SubSystem which does a setup which didn't have an equivalent in 3.x? Best regards, Joachim Geidel |
well, it is true that the image is saved compressed and into a single exe
, should have thought about that. The memory policies are the same in both versions but if anything 3.0 growed memory by a good bit since we do data caching at startup i.e. it would not be an issue of settings being to "low" I have looked at the code differences. Of course, 7.x has now the notion of subsystem startup and we have a user subsystem but I am not talking that into account, our user subsystem is forced to start last and so I'm actually measuring the time up to that event. Again, not that palpable of an issue on a modern machine. I guess that part of the issue is that image has bloated , some of that is because I refuse to "strip" and so I therefore I compress. Our image with everything loaded in i.e. when I don't do dynamic loading of parcels is about 8.3 mb and I thing uncompressed that probably puts into the 17mb. Yeah, probably image size is the one main culprit. thanks -Charles On Thu, 08 Mar 2007 15:47:09 -0500, Joachim Geidel <[hidden email]> wrote: > Charles A. Monteiro schrieb am 08.03.2007 20:32: >> there is an apparent slower startup time for VW 7.x as compared to 3.0, >> this is based on the 7.x ported version of the 3.0 app and frankly is >> really only noticeable on an older machine which happens to be the >> machine my boss tests on :), this for what is basically a ported >> version, sure there are some mods but to me they don't account for the >> diffs. >> >> So I'm wondering how "in tune" is 7.x to the newer Pentium >> architectures? As compared to a PIII. Also how in tune is it to versions >> of Windows. The machine in question is running Windows 2000. > > Hello Charles, > > although I certainly don't know exactly about what has changed, I > somehow doubt that 7.x has longer startup times. It certainly was not my > impression when our project did the upgrade. However, there may be > reasons why your app starts up slower: > > - Memory policy and ObjectMemory sizesAtStartUp: > The VM has changed quite a bit between 3.x and 7.x, becoming a lot > faster, and much more efficient in free list management. This may > require different settings of the MemoryPolicy parameters and the > sizesAtStartUp. Are they the same in the two versions? Have there been > changes in the MemoryPolicy code? E.g., it may slow down startup if the > preferredGrowthIncrement and the growthRegimeUpperBound are too low, or > if NewSpace is too small and many temporary objects are created. > > - In 7.x, the image may be saved compressed - decompression of the image > may add to the startup time. > > - Did you actually measure if the modifications between the two versions > really don't account for the difference? Sometimes, I am surprised when > my performance optimizations slow down the application... ;-) > > - Is there anything in the 7.x image which wasn't in 3.x? Maybe a > SubSystem which does a setup which didn't have an equivalent in 3.x? > > Best regards, > Joachim Geidel -- Charles A. Monteiro http://wiki.nycsmalltalk.org http://www.monteirosfusion.com http://monteirofusion.blogspot.com |
In reply to this post by Charles A. Monteiro-2
the way we handle that is we don't use the splash screen but pop our own
art with a little progress bar thingy , really pretty snappy :) On Thu, 08 Mar 2007 15:39:56 -0500, <[hidden email]> wrote: > Maybe it is related to my request in the 5i time frame that eliot slow > down startup so we could enjoy the nice splashscreen art at the time :) > Bruce > > ---- "Charles A. Monteiro" <[hidden email]> wrote: >> there is an apparent slower startup time for VW 7.x as compared to 3.0, >> this is based on the 7.x ported version of the 3.0 app and frankly is >> really only noticeable on an older machine which happens to be the >> machine >> my boss tests on :), this for what is basically a ported version, sure >> there are some mods but to me they don't account for the diffs. >> >> So I'm wondering how "in tune" is 7.x to the newer Pentium >> architectures? >> As compared to a PIII. Also how in tune is it to versions of Windows. >> The >> machine in question is running Windows 2000. >> >> If Eliot is listening, it would be nice to have something authoritative >> that I can show people here. >> >> thanks >> >> -- >> Charles A. Monteiro >> http://wiki.nycsmalltalk.org >> http://www.monteirosfusion.com >> http://monteirofusion.blogspot.com >> -- Charles A. Monteiro http://wiki.nycsmalltalk.org http://www.monteirosfusion.com http://monteirofusion.blogspot.com |
In reply to this post by Charles A. Monteiro-2
I am no longer the authority on anything VisualWorks :) |
:(
On Fri, 09 Mar 2007 13:46:04 -0500, Eliot Miranda <[hidden email]> wrote: >> >> If Eliot is listening, it would be nice to have something authoritative >> that I can show people here. > > > > I am no longer the authority on anything VisualWorks :) -- Charles A. Monteiro http://wiki.nycsmalltalk.org http://www.monteirosfusion.com http://monteirofusion.blogspot.com |
In reply to this post by Charles A. Monteiro-2
Charles,
Image size could have a role there - 7.4 image out of box(without anything of interest) is about 8 mb, while VW3.0 is about 3.5mb. So the size would explain some load performance. Also with introduction of more things like subsystem, which do have happen on the start up in the latest releases - the system has to perform way more things, many more messages to dispatch and so on. My observation that old (VW 3.0)UI runs in order of magnitude faster then similar UI on the latest versions. And I think that there is no excuse for that. New faster hardware just masks the inefficiency problem, but it still be there Charles A. Monteiro wrote: > the way we handle that is we don't use the splash screen but pop our > own art with a little progress bar thingy , really pretty snappy :) Can you share with us how you do that ? > >> Maybe it is related to my request in the 5i time frame that eliot >> slow down startup so we could enjoy the nice splashscreen art at the >> time :) Should we all look at the VM source for some "delays" then ? >>> there is an apparent slower startup time for VW 7.x as compared to 3.0, >>> this is based on the 7.x ported version of the 3.0 app and frankly is >>> really only noticeable on an older machine which happens to be the >>> machine I do test our application on the old PIII 1MHz pc - there I can see all of the double redrawing and many other UI anomalies of our app. , which are usually not noticeable on my 3MHz workstation. >>> my boss tests on :), this for what is basically a ported version, sure >>> there are some mods but to me they don't account for the diffs. >>> >>> So I'm wondering how "in tune" is 7.x to the newer Pentium >>> architectures? I don't see it is a problem with the Processor architecture, If you run your new and old environment on the same hardware. It is more of an inefficient Images bloat problem. --Mark |
In reply to this post by Charles A. Monteiro-2
It could be simple explanation for the startup performance.
I do remember reading a bit on what is happening on the startup with the memory pointers. The VM detects that if the platform it is starting on is the same as platform it was saved on. And if it is not then it does some "swizzle" of the memory pointers. I am a bit fuzzy on exact details, but that may explain the slowness. So if you build on let say Latest AMD processor running XP and then start it on old PIII with win2k that swizzleing may take place. What if you build your deployment on your boss PC and then compare ? Just my 2c. --Mark Charles A. Monteiro wrote: > well, it is true that the image is saved compressed and into a single > exe , should have thought about that. The memory policies are the same > in both versions but if anything 3.0 growed memory by a good bit since > we do data caching at startup i.e. it would not be an issue of settings > being to "low" > > I have looked at the code differences. Of course, 7.x has now the > notion of subsystem startup and we have a user subsystem but I am not > talking that into account, our user subsystem is forced to start last > and so I'm actually measuring the time up to that event. > > Again, not that palpable of an issue on a modern machine. > > I guess that part of the issue is that image has bloated , some of that > is because I refuse to "strip" and so I therefore I compress. Our image > with everything loaded in i.e. when I don't do dynamic loading of > parcels is about 8.3 mb and I thing uncompressed that probably puts > into the 17mb. Yeah, probably image size is the one main culprit. > > thanks > > -Charles > > > On Thu, 08 Mar 2007 15:47:09 -0500, Joachim Geidel > <[hidden email]> wrote: > >> Charles A. Monteiro schrieb am 08.03.2007 20:32: >> >>> there is an apparent slower startup time for VW 7.x as compared to 3.0, >>> this is based on the 7.x ported version of the 3.0 app and frankly is >>> really only noticeable on an older machine which happens to be the >>> machine my boss tests on :), this for what is basically a ported >>> version, sure there are some mods but to me they don't account for the >>> diffs. >>> >>> So I'm wondering how "in tune" is 7.x to the newer Pentium >>> architectures? As compared to a PIII. Also how in tune is it to versions >>> of Windows. The machine in question is running Windows 2000. >> >> >> Hello Charles, >> >> although I certainly don't know exactly about what has changed, I >> somehow doubt that 7.x has longer startup times. It certainly was not my >> impression when our project did the upgrade. However, there may be >> reasons why your app starts up slower: >> >> - Memory policy and ObjectMemory sizesAtStartUp: >> The VM has changed quite a bit between 3.x and 7.x, becoming a lot >> faster, and much more efficient in free list management. This may >> require different settings of the MemoryPolicy parameters and the >> sizesAtStartUp. Are they the same in the two versions? Have there been >> changes in the MemoryPolicy code? E.g., it may slow down startup if the >> preferredGrowthIncrement and the growthRegimeUpperBound are too low, or >> if NewSpace is too small and many temporary objects are created. >> >> - In 7.x, the image may be saved compressed - decompression of the image >> may add to the startup time. >> >> - Did you actually measure if the modifications between the two versions >> really don't account for the difference? Sometimes, I am surprised when >> my performance optimizations slow down the application... ;-) >> >> - Is there anything in the 7.x image which wasn't in 3.x? Maybe a >> SubSystem which does a setup which didn't have an equivalent in 3.x? >> >> Best regards, >> Joachim Geidel > > > > |
In reply to this post by Mark Pirogovsky-3
> Charles A. Monteiro wrote:
> >> the way we handle that is we don't use the splash screen but pop our >> own art with a little progress bar thingy , really pretty snappy :) > > Can you share with us how you do that ? perhaps sounds fancier than what it is, I have a user subystem that when activated uses a "naked window" with a nice pic on it, the UI has a progress bar, text area, image area , I show the progress of the parcels being loaded, pop my app at the end etc, the vm splash screen does not have an associated bmp resource so that in of itself probably adds to the perception of "waiting" On Fri, 09 Mar 2007 14:00:35 -0500, Mark Pirogovsky <[hidden email]> wrote: > Charles, > Image size could have a role there - 7.4 image out of box(without > anything of interest) is about 8 mb, while VW3.0 is about 3.5mb. > So the size would explain some load performance. > > Also with introduction of more things like subsystem, which do have > happen on the start up in the latest releases - the system has to > perform way more things, many more messages to dispatch and so on. > > My observation that old (VW 3.0)UI runs in order of magnitude faster > then similar UI on the latest versions. And I think that there is no > excuse for that. New faster hardware just masks the inefficiency > problem, but it still be there > > Charles A. Monteiro wrote: > >> the way we handle that is we don't use the splash screen but pop our >> own art with a little progress bar thingy , really pretty snappy :) > > Can you share with us how you do that ? > >> >>> Maybe it is related to my request in the 5i time frame that eliot >>> slow down startup so we could enjoy the nice splashscreen art at the >>> time :) > > Should we all look at the VM source for some "delays" then ? > >>>> there is an apparent slower startup time for VW 7.x as compared to >>>> 3.0, >>>> this is based on the 7.x ported version of the 3.0 app and frankly is >>>> really only noticeable on an older machine which happens to be the >>>> machine > > I do test our application on the old PIII 1MHz pc - there I can see all > of the double redrawing and many other UI anomalies of our app. , which > are usually not noticeable on my 3MHz workstation. > > >>>> my boss tests on :), this for what is basically a ported version, sure >>>> there are some mods but to me they don't account for the diffs. >>>> >>>> So I'm wondering how "in tune" is 7.x to the newer Pentium >>>> architectures? > > I don't see it is a problem with the Processor architecture, If you run > your new and old environment on the same hardware. It is more of an > inefficient Images bloat problem. > > --Mark -- Charles A. Monteiro http://wiki.nycsmalltalk.org http://www.monteirosfusion.com http://monteirofusion.blogspot.com |
In reply to this post by Mark Pirogovsky-3
now, that you mention it I do remember reading something about that,
too bad that Eliot has no authority any more :) now the question is if I do build it on my boss's pc, is it going to run like s#*t on my machine, because that would be totally unacceptable :), I need speed On Fri, 09 Mar 2007 14:11:56 -0500, Mark Pirogovsky <[hidden email]> wrote: > It could be simple explanation for the startup performance. > > I do remember reading a bit on what is happening on the startup with the > memory pointers. The VM detects that if the platform it is starting on > is the same as platform it was saved on. And if it is not then it does > some "swizzle" of the memory pointers. I am a bit fuzzy on exact > details, but that may explain the slowness. So if you build on let say > Latest AMD processor running XP and then start it on old PIII with > win2k that swizzleing may take place. > > What if you build your deployment on your boss PC and then compare ? > > Just my 2c. > > --Mark > > Charles A. Monteiro wrote: >> well, it is true that the image is saved compressed and into a single >> exe , should have thought about that. The memory policies are the same >> in both versions but if anything 3.0 growed memory by a good bit since >> we do data caching at startup i.e. it would not be an issue of >> settings being to "low" >> I have looked at the code differences. Of course, 7.x has now the >> notion of subsystem startup and we have a user subsystem but I am not >> talking that into account, our user subsystem is forced to start last >> and so I'm actually measuring the time up to that event. >> Again, not that palpable of an issue on a modern machine. >> I guess that part of the issue is that image has bloated , some of >> that is because I refuse to "strip" and so I therefore I compress. Our >> image with everything loaded in i.e. when I don't do dynamic loading >> of parcels is about 8.3 mb and I thing uncompressed that probably puts >> into the 17mb. Yeah, probably image size is the one main culprit. >> thanks >> -Charles >> On Thu, 08 Mar 2007 15:47:09 -0500, Joachim Geidel >> <[hidden email]> wrote: >> >>> Charles A. Monteiro schrieb am 08.03.2007 20:32: >>> >>>> there is an apparent slower startup time for VW 7.x as compared to >>>> 3.0, >>>> this is based on the 7.x ported version of the 3.0 app and frankly is >>>> really only noticeable on an older machine which happens to be the >>>> machine my boss tests on :), this for what is basically a ported >>>> version, sure there are some mods but to me they don't account for the >>>> diffs. >>>> >>>> So I'm wondering how "in tune" is 7.x to the newer Pentium >>>> architectures? As compared to a PIII. Also how in tune is it to >>>> versions >>>> of Windows. The machine in question is running Windows 2000. >>> >>> >>> Hello Charles, >>> >>> although I certainly don't know exactly about what has changed, I >>> somehow doubt that 7.x has longer startup times. It certainly was not >>> my >>> impression when our project did the upgrade. However, there may be >>> reasons why your app starts up slower: >>> >>> - Memory policy and ObjectMemory sizesAtStartUp: >>> The VM has changed quite a bit between 3.x and 7.x, becoming a lot >>> faster, and much more efficient in free list management. This may >>> require different settings of the MemoryPolicy parameters and the >>> sizesAtStartUp. Are they the same in the two versions? Have there been >>> changes in the MemoryPolicy code? E.g., it may slow down startup if the >>> preferredGrowthIncrement and the growthRegimeUpperBound are too low, or >>> if NewSpace is too small and many temporary objects are created. >>> >>> - In 7.x, the image may be saved compressed - decompression of the >>> image >>> may add to the startup time. >>> >>> - Did you actually measure if the modifications between the two >>> versions >>> really don't account for the difference? Sometimes, I am surprised when >>> my performance optimizations slow down the application... ;-) >>> >>> - Is there anything in the 7.x image which wasn't in 3.x? Maybe a >>> SubSystem which does a setup which didn't have an equivalent in 3.x? >>> >>> Best regards, >>> Joachim Geidel >> -- Charles A. Monteiro http://wiki.nycsmalltalk.org http://www.monteirosfusion.com http://monteirofusion.blogspot.com |
In reply to this post by Charles A. Monteiro-2
From: Mark Pirogovsky [mailto:[hidden email]]
> Image size could have a role there - 7.4 image out of box(without > anything of interest) is about 8 mb, while VW3.0 is about 3.5mb. As Charles wrote: > I refuse to "strip" and so ... I compress. Our image ... is about > 8.3 mb and I think uncompressed that probably puts into the 17mb. If Charles' VW 3.0 image is stripped, I'm guessing it's something like half the size of the uncompressed 7.4 image. That size difference might slow things down, but only if decompressing 8MB in memory to 17MB is slower than loading the extra 8MB from disk. Another possibility is that startup does garbage collect, and the 7.4 image hasn't been perm saved. That could mean gc'ing 10MB rather than say 1MB. Doing the three-phase image save will have some effect, but not a huge amount. My understanding has been that the extra swizzling time on platform changes has an effect, but only in the case where the platform is different enough that it needs a different VM. So I think Win2000 vs. XP wouldn't have an effect, and nor would AMD vs. Intel. > Also with introduction of more things like subsystem, which do have > happen on the start up in the latest releases - the system has to > perform way more things, many more messages to dispatch and so on. I wonder if this is the main factor. If the 7.4 image isn't stripped, and Charles' build involves lots of VW components, there may be more things hanging around unnecessarily that require initialization of some sort on startup. My advice would be to use Performance Monitor to track the CPU and I/O usage when starting up. That should give you some clues as to what phase or actions of startup are taking the most time. When VW appears slow, I've often found that CPU activity is low: it's actually waiting on some network call or some obscure Windows delay on disk activity. From: Mark Pirogovsky [mailto:[hidden email]] > My observation that old (VW 3.0)UI runs in order of magnitude faster > then similar UI on the latest versions. Interesting: my experience is that the same app is faster in 7.x than 3.0. Things that are slower in 7.x include: - anything that relinks / rebinds methods (happens too often) - namespace lookups (because 3.0 didn't have them!) - operations on source code files (because they are now XML) If you really are seeing order of magnitude differences in speed, for the same app code on the same PC, and it doesn't involve heavy use of the above, it would be very interesting to look where the time is going. Cheers, Steve |
As far as the base image is concerned, I'd expect the size
difference is the biggest factor, with the changes to the look and feel
as a possible second. On a randomly selected one of my machines, a pretty
current laptop, but running on batteries at the time, VW 3 takes in the
ballpark of 250ms to start up and shut down immediately, with around 30
to 100ms of CPU time. VW7.5 takes about 500ms, or about 350 with the
splash screen suppressed, with around the same or possibly less CPU time
(it looks like 15ms is about the minimum resolution of the timer). The
-nologo flag doesn't work on VW3, and I didn't pursue figuring out how to
do it there further. With no gui and no splash screen, VW7 starts up and
quits in 200 to 250ms.
At 05:35 PM 3/9/2007, Steven Kelly wrote: From: Mark Pirogovsky [[hidden email]] --
Alan Knight [|], Cincom Smalltalk Development
"The Static Typing Philosophy: Make it fast. Make it right.
Make it run." - Niall Ross
|
In reply to this post by Mark Pirogovsky-3
Mark Pirogovsky wrote:
> It could be simple explanation for the startup performance. > > I do remember reading a bit on what is happening on the startup with the > memory pointers. The VM detects that if the platform it is starting on > is the same as platform it was saved on. And if it is not then it does > some "swizzle" of the memory pointers. I am a bit fuzzy on exact > details, but that may explain the slowness. So if you build on let say > Latest AMD processor running XP and then start it on old PIII with > win2k that swizzleing may take place. There are two things that are done to memory pointers on startup: 1. If you move from big-endian to little-endian or vice versa, the byte order of the pointer is reversed - this does not apply here. 2. If the object memory is loaded into a different address than the one it was saved from, the pointers must be adjusted, by adding/subtracting the difference between the old and the new address. This will probably happen when you move from one operating system to another, but I don't think it explains much of the slowdown. > > What if you build your deployment on your boss PC and then compare ? Or at least load and save it there and use the new image for comparision. Ralf > > Just my 2c. > > --Mark > -- Ralf Propach, [hidden email] Tel: +49 231 975 99 38 Fax: +49 231 975 99 20 Georg Heeg eK (Dortmund) Handelsregister: Amtsgericht Dortmund A 12812 |
Free forum by Nabble | Edit this page |