On Thu, Jul 24, 2014 at 4:41 AM, Bert Freudenberg <bert@freudenbergs.de> wrote:
While working on my SqueakJS VM (which now can run a current 4.5 image) I'm discovering a lot of gross inefficiencies. I have no time (or much desire) to fix these, but would anybody think it's valuable if I post them here? For example:

ScrollBar>>initializeSlider
ScrollBar>>sliderColor:
ScrollBar>>updateSliderColor:
Color class>>gray:
Color>>setRed:green:blue:
Float>>rounded
Float>>sign
Float>>>
Number>>adaptToFloat:andCompare:
Float>>asTrueFraction
Integer>>bitOr:


Oh man, we should _really_ take a look at those lower-level ones in the Number hierarchy.  There could be some low-hanging cog-like-turbo-boost fruit lurking in there..

 
ctx[5]=rcvr: 3436915608L
ctx[6]=tmp0: 16r10000000000000L
ctx[7]=tmp1: nil

Converting a Float to an exact Fraction just to find out its sign seems very much unnecessary. And without the LargeInteger primitive support it also is really really slow.

My VM-level debugger makes it easy to stop at any time and look what's taking so long, so that's how I come across these.

- Bert -