[squeak-dev] The Inbox: Monticello-hjh.529.mcz
Bert Freudenberg
bert at freudenbergs.de
Tue Jan 22 22:14:18 UTC 2013
On 22.01.2013, at 14:10, "H. Hirzel" <hannes.hirzel at gmail.com> wrote:
> Ok, thank you, otherwise it seems to fine, may I ask you to commit it
> to the trunk with that correction?
>
> --Hannes
It's simpler if you submit it again.
- Bert -
>
> On 1/22/13, Bert Freudenberg <bert at freudenbergs.de> wrote:
>>
>> On 22.01.2013, at 21:57, commits at source.squeak.org wrote:
>>
>>> A new version of Monticello was added to project The Inbox:
>>> http://source.squeak.org/inbox/Monticello-hjh.529.mcz
>>>
>>> ==================== Summary ====================
>>>
>>> Name: Monticello-hjh.529
>>> Author: hjh
>>> Time: 22 January 2013, 9:56:58.248 pm
>>> UUID: 4fa5f98e-0261-6240-ac33-d98759df6a77
>>> Ancestors: Monticello-nice.528
>>>
>>> Added comments to MCDefinition, MCPackage and MCSnapshot.
>>>
>>> A MCDefinition is a model for Smalltalk code. A package snapshot
>>> (MCSnapshot) is a collection of these definitions.
>>>
>>> MCPackage uses PackageInfo to find out which methods and classes belong to
>>> a package.
>>>
>>> =============== Diff against Monticello-nice.528 ===============
>>>
>>> Item was changed:
>>> Object subclass: #MCDefinition
>>> instanceVariableNames: ''
>>> classVariableNames: ''
>>> poolDictionaries: ''
>>> category: 'Monticello-Base'!
>>> MCDefinition class
>>> instanceVariableNames: 'instances'!
>>> +
>>> + !MCDefinition commentStamp: 'hjh 1/22/2013 21:38' prior: 0!
>>> + A MCDefinition is a model for Smalltalk code. A package snapshot
>>> (MCSnapshot) is a collection of these definitions.
>>
>> Up to here it's fine, but ...
>>
>>> + What does
>>> + MCDefinition clearInstances.
>>> + do?
>>> +
>>> + It nils out the quick-access cache to its subinstances. #allInstances is
>>> very slow as it needs to scan the whole object memory, whereas retrieving
>>> an instance from the "instances" WeakSet is O(1).
>>> +
>>> + Why can this be done safely?
>>> +
>>> + Because re-using a definition is only a space optimization.
>>> +
>>> + What is the impact of doing this?
>>> +
>>> + When loading/creating another snapshot, the definitions that are in both
>>> snapshots will not be shared but occupy space twice.
>>> + !
>>
>> ... this does not belong in the class comment. The discussion showed that
>> calling clearInstances is not a good idea. If at all, an explanation could
>> be added as a method comment, but please not in Q/A format.
>>
>>> + !MCPackage commentStamp: 'hjh 1/22/2013 21:38' prior: 0!
>>> + MCPackage uses PackageInfo to find out which methods and classes belong
>>> to a package.
>>> +
>>> + More see MCDefinition.
>>> +
>>> + !
>>
>> The "More" ref does not seem useful to me.
>>
>>> Item was changed:
>>> Object subclass: #MCSnapshot
>>> instanceVariableNames: 'definitions'
>>> classVariableNames: ''
>>> poolDictionaries: ''
>>> category: 'Monticello-Base'!
>>> +
>>> + !MCSnapshot commentStamp: 'hjh 1/22/2013 21:40' prior: 0!
>>> + A MCSnapshot is a snapshot of an MCPackage. It is a collection of
>>> MCDefinitions.
>>> +
>>> + See also MCDefinition.!
>>
>>
>> Similarly, the "See also" ref is unnecessary. If someone wants to know about
>> MCDefinition, they would browse that class, they do not need an extra hint
>> to do so.
>>
>> - Bert -
>>
>>
>>
>>
>
More information about the Squeak-dev
mailing list
|