Hi,

I'm new to Clojure, and let me first say that I love it! At least I
love the language, but I have some concerns regarding performance:

My first try was to implement a Gauß elemination algorithm for solving
a system of linear equations. Here is the code:

http://www.xenoage.com/extern/zongblog/matrix.clj

Solving 1.000.000 SLEs (see last line) took 33.000 ms on my machine,
while the corresponding algorithm written in Java needed less than 300
ms.

Since I am a Java programmer and I have no experience in functional
programming, I probably have to apologize for the bad code. Anyway, I
already tried to make it faster using the well-known performance tips
(like type hints), but they did not really help (ok, 25.000 ms instead
of 33.000, but it is still too much).

What are my options?
- Can you identify problems in my code? I do not mean things that make
it 10% faster, but at least double as fast.
- Could you say, that Clojure is not made for such numerical things,
and I should use Java code for these performance-critical algorithms?
(would be perfectly ok for me)
- Should I try it in Clojure, but using a (mutable) Java array instead
(also ok for me, since this mutable structure is only used locally and
within a single thread)

Any ideas? Thanks in advance :-)


Andi

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to