From: Jefferson P. <jp...@cs...> - 2002-02-01 17:25:07
|
On 2/1/02 7:28 AM, "Raymond Toy" <to...@rt...> wrote: > Jefferson> D = 1x500 real matrix > > You do realize that a*b is O(500^3), a+b is O(500^2) and c*d is also > O(500^2). So it's not surprising that a*b takes 157 times longer than > a+b and 88 times longer than c*d. Yes, I realize that. But I wasn't doing a*b, I was doing a.*b, which is O(500x500), same as a+b, and c*d. Looking in mtimes.lisp, m* is implemented by calling GEMM, which is implemented in fortran, but m.* and m.*! are written in lisp. It doesn't surprise me that the routines written in LISP are much slower. I was just surprised to find that function written in lisp. I have to problem writing in myself, but I wanted to make sure I wasn't missing something first. J. |