Just to come back to this: I just published a bundle, and saw the class names again. All 5 packages
within the bundle were already published earlier; the only change was which
version of the 3rd package was included in the bundle (its old and
new versions had both been published with 7.7, and had binFile=nil). The
transcript listed only things from packages 1, 2 and 5; nothing from 3 or 4. Packages
3 and 4 are significantly bigger than the others, and are changed more
frequently (1, 2 and 5 were last published in 2003/4; 3 and 4 were published
this year, both at least once from 7.7). The things listed in the transcript were
all classes and namespaces defined in packages 1, 2 and 5, and all shared
variables defined in them. All package versions published before 7.7 still have binFile = ‘’,
all since have binFile = nil. As you know, bundles don’t have binFile. HTH, Steve From: Alan Knight
[mailto:[hidden email]] Were you seeing lists of class names go by when publishing?
I think the only way that would happen is if it were publishing binary. If you
weren't, then you might just be seeing slowdowns from the ODBC issue, and not
be affected by the binary publishing issue. Is it still slow for you with that
fix in place? Also, have you run the update77 script which generates a number
of additional indexes? That should improve the speed of some operations
considerably. It might slow down publishing slightly, as the database has to
update the indexes, but I don't think that would account for the kind of
symptoms people have described, or even be likely to be noticeable. It doesn’t seem that loading or reconciling an old
package with binFile = '' would cause binary publishes in 7.7. I’ve
gone through our repository, and nothing is being published binary: the only
packages with parcel nonNil are from several years ago. Everything published
before 7.7 has binFile = ''. Everything published from 7.7 has binFile = nil
– including all the 7.7. base, which was reconciled with the 7.6 versions
(which had binFile = ''), and the couple of dozen new versions of our own
packages, which had been loaded into 7.7 from the 7.6 packages (which had
binFile = ''). -- Alan Knight [|], Engineering Manager, Cincom Smalltalk _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Steven, here I simply changed the test to treat '' same as nil, because even after fixing all dbs I saw some newly published stuff from 7.6 stream revert back to that value and I needed a smooth transition path from one to the other... Maybe once we're fully on 7.7 I will revisit.
-Boris (via BlackBerry) From: [hidden email] <[hidden email]> To: Alan Knight <[hidden email]>; Samuel S. Shuster <[hidden email]> Cc: [hidden email] <[hidden email]> Sent: Wed Mar 17 05:58:59 2010 Subject: Re: [vwnc] Store Publish Speed VW7.7 -- very slow ... Just to come back to this: I just published a bundle, and saw the class names again. All 5 packages
within the bundle were already published earlier; the only change was which
version of the 3rd package was included in the bundle (its old and
new versions had both been published with 7.7, and had binFile=nil). The
transcript listed only things from packages 1, 2 and 5; nothing from 3 or 4. Packages
3 and 4 are significantly bigger than the others, and are changed more
frequently (1, 2 and 5 were last published in 2003/4; 3 and 4 were published
this year, both at least once from 7.7). The things listed in the transcript were
all classes and namespaces defined in packages 1, 2 and 5, and all shared
variables defined in them. All package versions published before 7.7 still have binFile = ‘’,
all since have binFile = nil. As you know, bundles don’t have binFile. HTH, Steve From: Alan Knight
[mailto:[hidden email]] Were you seeing lists of class names go by when publishing?
I think the only way that would happen is if it were publishing binary. If you
weren't, then you might just be seeing slowdowns from the ODBC issue, and not
be affected by the binary publishing issue. Is it still slow for you with that
fix in place? Also, have you run the update77 script which generates a number
of additional indexes? That should improve the speed of some operations
considerably. It might slow down publishing slightly, as the database has to
update the indexes, but I don't think that would account for the kind of
symptoms people have described, or even be likely to be noticeable. It doesn’t seem that loading or reconciling an old
package with binFile = '' would cause binary publishes in 7.7. I’ve
gone through our repository, and nothing is being published binary: the only
packages with parcel nonNil are from several years ago. Everything published
before 7.7 has binFile = ''. Everything published from 7.7 has binFile = nil
– including all the 7.7. base, which was reconciled with the 7.6 versions
(which had binFile = ''), and the couple of dozen new versions of our own
packages, which had been loaded into 7.7 from the 7.6 packages (which had
binFile = ''). -- Alan Knight [|], Engineering Manager, Cincom Smalltalk _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Steven Kelly
Thanks Boris; do you mean the test in Store.Glorp.StorePundleWriter>>prepareBinarySaveFor:?
Looks like things are being published binary after all: “session
read: StoreParcelRecord” returns lots of recent versions that really have StoreBinaryBlobs.
Darn. However, it looks like those StoreParcelRecords are orphans: the packages
in question have parcel=nil. So publishing is doing some unnecessary work, but
loading those packages won’t load them binary. I think. Steve From: Boris Popov,
DeepCove Labs (YVR) [mailto:[hidden email]] Steven, here I simply changed the test to treat '' same as nil,
because even after fixing all dbs I saw some newly published stuff from 7.6
stream revert back to that value and I needed a smooth transition path from one
to the other... Maybe once we're fully on 7.7 I will revisit. From: [hidden email]
<[hidden email]> Just to come back to this: I just published a bundle, and saw the class names again. All 5
packages within the bundle were already published earlier; the only change was
which version of the 3rd package was included in the bundle (its old
and new versions had both been published with 7.7, and had binFile=nil). The
transcript listed only things from packages 1, 2 and 5; nothing from 3 or 4.
Packages 3 and 4 are significantly bigger than the others, and are changed more
frequently (1, 2 and 5 were last published in 2003/4; 3 and 4 were published
this year, both at least once from 7.7). The things listed in the transcript
were all classes and namespaces defined in packages 1, 2 and 5, and all shared
variables defined in them. All package versions published before 7.7 still have binFile =
‘’, all since have binFile = nil. As you know, bundles don’t have binFile. HTH, Steve From: Alan Knight
[mailto:[hidden email]] Were you seeing lists of class
names go by when publishing? I think the only way that would happen is if it
were publishing binary. If you weren't, then you might just be seeing slowdowns
from the ODBC issue, and not be affected by the binary publishing issue. Is it
still slow for you with that fix in place? Also, have you run the update77
script which generates a number of additional indexes? That should improve the
speed of some operations considerably. It might slow down publishing slightly,
as the database has to update the indexes, but I don't think that would account
for the kind of symptoms people have described, or even be likely to be
noticeable. It doesn’t seem that loading or reconciling an old package
with binFile = '' would cause binary publishes in 7.7. I’ve gone through
our repository, and nothing is being published binary: the only packages with
parcel nonNil are from several years ago. Everything published before 7.7 has
binFile = ''. Everything published from 7.7 has binFile = nil – including all
the 7.7. base, which was reconciled with the 7.6 versions (which had binFile =
''), and the couple of dozen new versions of our own packages, which had been
loaded into 7.7 from the 7.6 packages (which had binFile = ''). -- Alan Knight [|], Engineering Manager, Cincom Smalltalk _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
On Mar 17, 2010, at 9:58 AM, Steven Kelly wrote: > Thanks Boris; do you mean the test in Store.Glorp.StorePundleWriter>>prepareBinarySaveFor:? > > Looks like things are being published binary after all: “session read: StoreParcelRecord” returns lots of recent versions that really have StoreBinaryBlobs. Darn. However, it looks like those StoreParcelRecords are orphans: the packages in question have parcel=nil. So publishing is doing some unnecessary work, but loading those packages won’t load them binary. I think. > > Steve > > From: Boris Popov, DeepCove Labs (YVR) [mailto:[hidden email]] > Sent: 17 March 2010 15:38 > To: Steven Kelly; [hidden email]; [hidden email] > Cc: [hidden email] > Subject: Re: [vwnc] Store Publish Speed VW7.7 -- very slow ... > > Steven, here I simply changed the test to treat '' same as nil, because even after fixing all dbs I saw some newly published stuff from 7.6 stream revert back to that value and I needed a smooth transition path from one to the other... Maybe once we're fully on 7.7 I will revisit. Here are two method changes that are slated for 7.8 that will hopefully fix the problem: They both do a version of: self binarySave ifTrue: [self prepareBinary] ifFalse: [self pundle isPackage ifTrue: [self pundle binFile: nil]]. This takes the Specification's note of if it should be saved binary, and if not, FORCES binFile: to be nil And So It Goes Sames ______________________________________________________________________ Samuel S. Shuster [|] VisualWorks Engineering, Store Project Smalltalk Enables Success -- What Are YOU Using? _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc updateItems.st (2K) Download Attachment |
Free forum by Nabble | Edit this page |