Fabio Niephaus uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-fn.869.mcz ==================== Summary ==================== Name: Collections-fn.869 Author: fn Time: 3 January 2020, 10:27:08.945712 am UUID: c29ef38b-f152-468e-bac9-74515c099ac4 Ancestors: Collections-nice.868 Add quick-check for identity to String>>sameAs: (similar to Character>>sameAs:). Example: [MenuIcons smallInspectItIconContents sameAs: MenuIcons smallInspectItIconContents] bench Before: 1,740,000 per second. 574 nanoseconds per run. 0 % GC time. After: 94,800,000 per second. 10.5 nanoseconds per run. 0 % GC time. =============== Diff against Collections-nice.868 =============== Item was changed: ----- Method: String>>sameAs: (in category 'comparing') ----- sameAs: aString "Answer whether the receiver sorts equal to aString. The collation sequence is ascii with case differences ignored." + self == aString ifTrue: [ ^true ]. ^(self compare: aString caseSensitive: false) = 2! |
It's a nice improvement, but isn't it feature freeze with "only bugfixes,
but no new features"? Levente On Fri, 3 Jan 2020, [hidden email] wrote: > Fabio Niephaus uploaded a new version of Collections to project The Trunk: > http://source.squeak.org/trunk/Collections-fn.869.mcz > > ==================== Summary ==================== > > Name: Collections-fn.869 > Author: fn > Time: 3 January 2020, 10:27:08.945712 am > UUID: c29ef38b-f152-468e-bac9-74515c099ac4 > Ancestors: Collections-nice.868 > > Add quick-check for identity to String>>sameAs: (similar to Character>>sameAs:). > > Example: > [MenuIcons smallInspectItIconContents sameAs: MenuIcons smallInspectItIconContents] bench > > Before: > 1,740,000 per second. 574 nanoseconds per run. 0 % GC time. > > After: > 94,800,000 per second. 10.5 nanoseconds per run. 0 % GC time. > > =============== Diff against Collections-nice.868 =============== > > Item was changed: > ----- Method: String>>sameAs: (in category 'comparing') ----- > sameAs: aString > "Answer whether the receiver sorts equal to aString. The > collation sequence is ascii with case differences ignored." > + self == aString ifTrue: [ ^true ]. > ^(self compare: aString caseSensitive: false) = 2! |
Hi Levente, On Fri, Jan 3, 2020 at 11:55 PM Levente Uzonyi <[hidden email]> wrote: It's a nice improvement, but isn't it feature freeze with "only bugfixes, I was considering this one a performance bugfix, not a new feature. Not sure how we treated these simple cases in the past. Fabio
|
Hi Fabio,
I don't remember having so many new entries in the Inbox during previous releases. Also, I feel like this release is taking a bit too long to be ready. I asked you about your commit because there are a few other "performance bugfixes" waiting in the Inbox, but I'm not sure if they should be pushed now or not. Also, that indentity check you just added to #sameAs: could be added to other related comparison methods too (#compare:caseSensitive:, #compare:with:collated:, even to the primitive #primitiveCompareString). Levente On Sat, 4 Jan 2020, Fabio Niephaus wrote: > Hi Levente, > > On Fri, Jan 3, 2020 at 11:55 PM Levente Uzonyi <[hidden email]> wrote: > It's a nice improvement, but isn't it feature freeze with "only bugfixes, > but no new features"? > > > I was considering this one a performance bugfix, not a new feature. Not sure how we treated these simple cases in the past. > > Fabio > > > Levente > > On Fri, 3 Jan 2020, [hidden email] wrote: > > > Fabio Niephaus uploaded a new version of Collections to project The Trunk: > > http://source.squeak.org/trunk/Collections-fn.869.mcz > > > > ==================== Summary ==================== > > > > Name: Collections-fn.869 > > Author: fn > > Time: 3 January 2020, 10:27:08.945712 am > > UUID: c29ef38b-f152-468e-bac9-74515c099ac4 > > Ancestors: Collections-nice.868 > > > > Add quick-check for identity to String>>sameAs: (similar to Character>>sameAs:). > > > > Example: > > [MenuIcons smallInspectItIconContents sameAs: MenuIcons smallInspectItIconContents] bench > > > > Before: > > 1,740,000 per second. 574 nanoseconds per run. 0 % GC time. > > > > After: > > 94,800,000 per second. 10.5 nanoseconds per run. 0 % GC time. > > > > =============== Diff against Collections-nice.868 =============== > > > > Item was changed: > > ----- Method: String>>sameAs: (in category 'comparing') ----- > > sameAs: aString > > "Answer whether the receiver sorts equal to aString. The > > collation sequence is ascii with case differences ignored." > > + self == aString ifTrue: [ ^true ]. > > ^(self compare: aString caseSensitive: false) = 2! > > > |
Hi Fabio, Levente, I'd like to proceed with restoring input interpreter health along with promotion of new VM. IMO pure optimization can go in trunk if not too complex, nor raise too many questions. RunArray optimization can wait for example. I'd like to underline the tremendous work performed by Marcel so far. It's possible that the release was a bit frozen because he took a few days off. These were well-earned! Le sam. 4 janv. 2020 à 04:32, Levente Uzonyi <[hidden email]> a écrit : Hi Fabio, |
> On 04.01.2020, at 12:05, Nicolas Cellier <[hidden email]> wrote: > > Hi Fabio, Levente, > I'd like to proceed with restoring input interpreter health along with promotion of new VM. > IMO pure optimization can go in trunk if not too complex, nor raise too many questions. > RunArray optimization can wait for example. > > I'd like to underline the tremendous work performed by Marcel so far. > It's possible that the release was a bit frozen because he took a few days off. > These were well-earned! > Hear, Hear! > > > > > Le sam. 4 janv. 2020 à 04:32, Levente Uzonyi <[hidden email]> a écrit : > Hi Fabio, > > I don't remember having so many new entries in the Inbox during previous > releases. Also, I feel like this release is taking a bit too long to be > ready. > I asked you about your commit because there are a few other "performance > bugfixes" waiting in the Inbox, but I'm not sure if they should be pushed > now or not. > Also, that indentity check you just added to #sameAs: could be added to > other related comparison methods too (#compare:caseSensitive:, > #compare:with:collated:, even to the primitive #primitiveCompareString). > > > Levente > > On Sat, 4 Jan 2020, Fabio Niephaus wrote: > > > Hi Levente, > > > > On Fri, Jan 3, 2020 at 11:55 PM Levente Uzonyi <[hidden email]> wrote: > > It's a nice improvement, but isn't it feature freeze with "only bugfixes, > > but no new features"? > > > > > > I was considering this one a performance bugfix, not a new feature. Not sure how we treated these simple cases in the past. > > > > Fabio > > > > > > Levente > > > > On Fri, 3 Jan 2020, [hidden email] wrote: > > > > > Fabio Niephaus uploaded a new version of Collections to project The Trunk: > > > http://source.squeak.org/trunk/Collections-fn.869.mcz > > > > > > ==================== Summary ==================== > > > > > > Name: Collections-fn.869 > > > Author: fn > > > Time: 3 January 2020, 10:27:08.945712 am > > > UUID: c29ef38b-f152-468e-bac9-74515c099ac4 > > > Ancestors: Collections-nice.868 > > > > > > Add quick-check for identity to String>>sameAs: (similar to Character>>sameAs:). > > > > > > Example: > > > [MenuIcons smallInspectItIconContents sameAs: MenuIcons smallInspectItIconContents] bench > > > > > > Before: > > > 1,740,000 per second. 574 nanoseconds per run. 0 % GC time. > > > > > > After: > > > 94,800,000 per second. 10.5 nanoseconds per run. 0 % GC time. > > > > > > =============== Diff against Collections-nice.868 =============== > > > > > > Item was changed: > > > ----- Method: String>>sameAs: (in category 'comparing') ----- > > > sameAs: aString > > > "Answer whether the receiver sorts equal to aString. The > > > collation sequence is ascii with case differences ignored." > > > + self == aString ifTrue: [ ^true ]. > > > ^(self compare: aString caseSensitive: false) = 2! > > > > > > > |
In reply to this post by fniephaus
+1 The purpose of feature freeze is to reduce risk, so if we feel comfortable enough about a change being functionally non-impactful, IMO, it seems fine to let it in the release. This seems pretty cut 'n' dry safe to me, nice catch Fabio. On Fri, Jan 3, 2020 at 5:43 PM Fabio Niephaus <[hidden email]> wrote:
|
+1 for this feature-freeze compatible feature. ;-P Best, Marcel
|
Hi Levente,
A packed inbox is no ideal, but I don't mind that the release is a bit delayed. It's not that we're having a strict deadline to meet. More importantly, lots of good things have happened in the last few weeks and I'd rather see us keeping the momentum going. On a more technical note, I'd say everything very easy to review is probably ok to go into trunk if it's not changing existing behavior (I wouldn't mind if we merge Collections-ul.869 for example). I mean why hold back something obviously good such as faster String comparisons or Symbol lookups? RE this change: I agree, an identity check could also be added to other related methods or the primitive. Not sure what's the best solution though. But it looks like there's some more cleaning up to do. But we really should do that after the feature freeze (just look at String>>#compare:with:collated: for example). :) Fabio On Mon, Jan 6, 2020 at 9:47 AM Marcel Taeumel <[hidden email]> wrote: > > +1 for this feature-freeze compatible feature. ;-P > > Best, > Marcel > > Am 04.01.2020 22:50:11 schrieb Chris Muller <[hidden email]>: > > +1 The purpose of feature freeze is to reduce risk, so if we feel comfortable enough about a change being functionally non-impactful, IMO, it seems fine to let it in the release. This seems pretty cut 'n' dry safe to me, nice catch Fabio. > > On Fri, Jan 3, 2020 at 5:43 PM Fabio Niephaus <[hidden email]> wrote: >> >> Hi Levente, >> >> On Fri, Jan 3, 2020 at 11:55 PM Levente Uzonyi <[hidden email]> wrote: >>> >>> It's a nice improvement, but isn't it feature freeze with "only bugfixes, >>> but no new features"? >> >> >> I was considering this one a performance bugfix, not a new feature. Not sure how we treated these simple cases in the past. >> >> Fabio >> >>> >>> >>> Levente >>> >>> On Fri, 3 Jan 2020, [hidden email] wrote: >>> >>> > Fabio Niephaus uploaded a new version of Collections to project The Trunk: >>> > http://source.squeak.org/trunk/Collections-fn.869.mcz >>> > >>> > ==================== Summary ==================== >>> > >>> > Name: Collections-fn.869 >>> > Author: fn >>> > Time: 3 January 2020, 10:27:08.945712 am >>> > UUID: c29ef38b-f152-468e-bac9-74515c099ac4 >>> > Ancestors: Collections-nice.868 >>> > >>> > Add quick-check for identity to String>>sameAs: (similar to Character>>sameAs:). >>> > >>> > Example: >>> > [MenuIcons smallInspectItIconContents sameAs: MenuIcons smallInspectItIconContents] bench >>> > >>> > Before: >>> > 1,740,000 per second. 574 nanoseconds per run. 0 % GC time. >>> > >>> > After: >>> > 94,800,000 per second. 10.5 nanoseconds per run. 0 % GC time. >>> > >>> > =============== Diff against Collections-nice.868 =============== >>> > >>> > Item was changed: >>> > ----- Method: String>>sameAs: (in category 'comparing') ----- >>> > sameAs: aString >>> > "Answer whether the receiver sorts equal to aString. The >>> > collation sequence is ascii with case differences ignored." >>> > + self == aString ifTrue: [ ^true ]. >>> > ^(self compare: aString caseSensitive: false) = 2! >>> >> > |
Free forum by Nabble | Edit this page |