Front Page Main: Concatenative languages: Interesting languages: Computer science: External: Meta:
|
Factor/To do/Performance
- generic math: inline the method body in method combination. we used to do this but it created problems for redefinition; if this can be solved it will eliminate an unnecessary jump in non-optimized execution
- memoized words with no inputs can perform the same as CONSTANT: instead of doing a hashtable lookup
Fixed: - we can use
memsetpattern to initialize strings, arrays on OS X 10.5; actually it will be better to use SSE2 and AltiVec directly instead, more portable... Prunedtree says "can't you write your own optimized memset with intrinsics ? It's not much code and it would be more portable. I can provide the x86 code if you want" - <range> is slow;
/ 1 + 0 max >integer no good - struct returns: compiler needs to know they're byte-arrays so it can optimize complex float boxing
- uninitialized byte arrays
-
reallotbytearray() zeroes too much - finish asm fixnum primitives
-
array-capacity?: try not using between? - linear search of
recursive-state - make
M: word hashcode foldable - we're inserting redundant 0 fixnum>= checks in tuple dispatch engine
- unnecessary
7 slot calls in hashed dispatch -
not and >boolean should be branchless -
case with words has [ t ] [ f ] if awkwardness - dispatch: small dispatch over hi-tag doesn't need to 8 fixnum-fast
- make sure that
0 slot in dispatch is the known-tag case -
can be faster; if base is a multiple of a power of two, factor out the power of 2 and use a shift, and use binary-reduce to multiple together the rest
This revision created on Fri, 20 Nov 2009 02:43:38 by slava
|