The Trunk: EToys-nice.73.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: EToys-nice.73.mcz

commits-2
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}!