Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Forth > Re: FSL array i...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 5 of 15 Topic 3817 of 4224
Post > Topic >>

Re: FSL array indexing

by Krishna Myneni <krishnamyneni@[EMAIL PROTECTED] > Mar 8, 2008 at 10:27 PM

Krishna Myneni wrote:
> Anybody know a good reason for the presence of SWAP in the following 
> word, from fsl-util.xxx?
> 
> : }   ( addr n -- addr[n])       \ word that fetches 1-D array addresses
>           OVER CELL-  @[EMAIL PROTECTED]
>           * SWAP +
> ;
> 
> Also, do the native code optimizing compilers eliminate the unnecessary 
> SWAP in the compiled code?
> 
> Krishna

Recoding "}" to remove the frivolous SWAP, and manually inlining the word
CELL- 
gave roughly an 8% improvement in performance, in kForth, for a curve
fitting 
routine which uses array indexing heavily. The above definition of "}" is 
replaced by

: }  OVER [ 1 CELLS ] LITERAL - @[EMAIL PROTECTED]
 * + ;


Normally, a word like CELL- should be inlined, but because there are no 
provisions for macros in the FSL, inline words can't be defined ****tably
within 
the framework of fsl-util.x. Most of the speedup comes not from dropping
the 
SWAP, but from inlining  the word CELL-.

OFF THIS TOPIC: it would be nice if Forth 200x would standardize a keyword
for 
denoting inline words, e.g.

: CELL- [ 1 CELLS ] LITERAL - ;  inline

A Forth implementation could choose to ignore the keyword, or to give the
marked 
word appropriate compile time behavior. Macros could then be avoided in a
lot of 
situations. I seem to remember from Stroustrup's book that he added such a

keyword in C++ because of common pitfalls with macros in C.

Krishna
 




 15 Posts in Topic:
FSL array indexing
Krishna Myneni <krishn  2008-03-08 12:04:11 
Re: FSL array indexing
"C. G. Montgomery&qu  2008-03-08 17:38:51 
Re: FSL array indexing
Krishna Myneni <krishn  2008-03-08 19:35:05 
Re: FSL array indexing
"C. G. Montgomery&qu  2008-03-09 03:18:48 
Re: FSL array indexing
Krishna Myneni <krishn  2008-03-08 22:27:23 
INLINE (was: FSL array indexing)
anton@[EMAIL PROTECTED]   2008-03-09 10:57:12 
Re: INLINE (was: FSL array indexing)
Albert van der Horst <  2008-03-09 14:56:11 
Re: INLINE
Krishna Myneni <krishn  2008-03-09 14:09:17 
Re: INLINE
Andrew Haley <andrew29  2008-03-10 21:46:50 
Re: INLINE
Bruce McFarling <agila  2008-03-10 15:51:06 
Re: INLINE
mhx@[EMAIL PROTECTED] (M  2008-03-11 00:01:55 
Re: INLINE
Bruce McFarling <agila  2008-03-10 17:09:57 
Re: FSL array indexing
m_l_g3@[EMAIL PROTECTED]   2008-03-12 10:46:19 
Re: FSL array indexing
Krishna Myneni <krishn  2008-03-12 19:56:08 
Re: FSL array indexing
"C. G. Montgomery&qu  2008-03-09 17:24:27 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Sat Aug 30 8:26:59 CDT 2008.