For years Joey Tuttle has used the performance of (%. y) as a simple measure of the performance of J releases.  It has improved pretty steadily.

This surprised me, because I know where the gaussian-elimination code is, and that code doesn't do much except C loops that do add and subtract.  I didn't see how improvements to the JE would have any effect on (%. y).  Not wanting to mess up a good story, I kept my doubts to myself.

Finally I understand.  The code I had been looking at is used only for rational matrices.  The code for general (%. y) is a lovely little recursive QR decomposition that does lots of memory allocation and calls to internal J arithmetic functions.  In fact, it's a pretty good exercise of the computational side of the system.  It's quite short but uses general utilities so that it works on all fixed-precision numeric types.  Bravo to Roger.  He builded better than he knew: it relies on +/ . * for most of the numeric work, and that code has now been polished so well that it is the most efficient code in the system.

Long live Joey's benchmark!

Henry Rich

---
This email has been checked for viruses by AVG.
https://www.avg.com

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to