Nicolas Cellier uploaded a new version of EToys to project The Trunk:
http://source.squeak.org/trunk/EToys-nice.73.mcz ==================== Summary ==================== Name: EToys-nice.73 Author: nice Time: 22 August 2010, 8:32:25.554 pm UUID: 9ebe70ec-4d09-40b1-bcfc-a2db41cfc0de Ancestors: EToys-ar.72 minor: avoid creating a SortedCollection when not necessary... asSortedCollection asArray -> asArray sort =============== Diff against EToys-ar.72 =============== Item was changed: ----- Method: EtoysPresenter>>allExtantPlayers (in category 'intialize') ----- allExtantPlayers "The initial intent here was to produce a list of Player objects associated with any Morph in the tree beneath the receiver's associatedMorph. whether it is the submorph tree or perhaps off on unseen bookPages. We have for the moment moved away from that initial intent, and in the current version we only deliver up players associated with the submorph tree only. <-- this note dates from 4/21/99 Call #flushPlayerListCache; to force recomputation." | fullList | playerList ifNotNil: [^ playerList]. fullList := associatedMorph allMorphs select: [:m | m player ~~ nil] thenCollect: [:m | m player]. fullList copy do: [:aPlayer | aPlayer class scripts do: [:aScript | aScript isTextuallyCoded ifFalse: [aScript currentScriptEditor ifNotNil: [:ed | | objectsReferredToByTiles | objectsReferredToByTiles := ed allMorphs select: [:aMorph | (aMorph isKindOf: TileMorph) and: [aMorph type == #objRef]] thenCollect: [:aMorph | aMorph actualObject]. fullList addAll: objectsReferredToByTiles]]]]. + ^ playerList := fullList asSet asArray sort: + [:a :b | a externalName < b externalName]! - ^ playerList := (fullList asSet asSortedCollection: - [:a :b | a externalName < b externalName]) asArray! Item was changed: ----- Method: SyntaxMorph classSide>>testAllMethodsOver: (in category 'as yet unclassified') ----- testAllMethodsOver: methodSize "MessageTally spyOn: [SyntaxMorph testAllMethodsOver: 600]" "Add up the total layout area for syntax morphs representing all methods over the given size. This is a stress-test for SyntaxMorph layout. A small value for the total area is also a figure of merit in the presentation of Squeak source code in general." "Results: #(69 600 180820874 103700) 11/4 70% build morphs, 12% get source, 9% layout, 8% parse, 1% roundoff Folded wide receivers, don't center keywords any more. #(68 600 160033784 127727) 11/9 76% build morphs, 8% get source, 8% layout, 8% parse, 0% roundoff Folded more messages, dropped extra vertical spacing in blocks. #(68 600 109141704 137308) 11/10 79% build morphs, 6% get source, 8% layout, 7% parse Folded more messages, dropped extra horizontal spacing. #(68 600 106912968 132171) 11/10 80% build morphs, ??% get source, 11% layout, 7% parse Unfolded keyword messages that will fit on one line. #(68 600 96497372 132153) 11/10 81% build morphs, ??% get source, 8% layout, 8% parse After alignment rewrite... #(74 600 101082316 244799) 11/12 76% build morphs, 4% get source, 15% layout, 5% parse After alignment rewrite... #(74 600 101250620 204972) 11/15 74% build morphs, 6% get source, 13% layout, 7% parse " | biggies stats area | biggies := self systemNavigation allMethodsSelect: [:cm | cm size > methodSize]. stats := OrderedCollection new. 'Laying out all ' , biggies size printString , ' methods over ' , methodSize printString , ' bytes...' displayProgressAt: Sensor cursorPoint from: 1 to: biggies size during: [:bar | biggies withIndexDo: [:methodRef :i | | time | bar value: i. Utilities setClassAndSelectorFrom: methodRef in: [:aClass :aSelector | | source | source := (aClass compiledMethodAt: aSelector) getSourceFromFile. time := Time millisecondsToRun: [ | tree morph | tree := Compiler new parse: source in: aClass notifying: nil. morph := tree asMorphicSyntaxUsing: SyntaxMorph. area := morph fullBounds area]]. stats add: {methodRef. area. time}]]. + ^ {{ + biggies size. + methodSize. + stats detectSum: [:a | a second]. + stats detectSum: [:a | a third] + }. + stats asArray sort: [:x :y | x third >= y third]}! - ^ {{biggies size. methodSize. stats - detectSum: [:a | a second]. stats - detectSum: [:a | a third]}. (stats - asSortedCollection: [:x :y | x third >= y third]) asArray}! |
Free forum by Nabble | Edit this page |