Re: proposal for core arithmatic functions

2010-03-13 Thread Jonathan Shore
Thanks for your thoughtful reply, see below. On Mar 13, 2010, at 3:03 AM, Konrad Hinsen wrote: > On 13 Mar 2010, at 03:32, Jonathan Shore wrote: > >> Could + and other operators be changed to a macro mapping rather than the >> current defn, mapping the argument list to a

proposal for core arithmatic functions

2010-03-12 Thread Jonathan Shore
Hi, I've been evaluating clojure with a bias around performance (I do a lot of numerical work). I don't need to the metal, but want to see that fundamental operations are comparable to java in performance and that performance can be had not at the expense of conciseness. In particular, I'v

Re: Clojure Implementation issues that may affect performance?

2010-03-09 Thread Jonathan Shore
On Mar 9, 2010, at 1:19 PM, Richard Newman wrote: >> I suspect that on recursion > > If you use plain function-calling recursion, yes. If you use (loop ... > recur...) then (IIRC) locals are not boxed (as well as saving stack). > > Also bear in mind that JIT will come into play here; after a f

Re: Clojure for financial applications

2010-03-09 Thread Jonathan Shore
:22, Jonathan Shore wrote: > >> For the sake of understanding, I'm not yet clear on how one *efficiently* >> binds multiple "pieces" of state together in clojure. How would one create >> a simple matrix for example where I want to bind dimension and a float-array

Re: benchmarks on a poor-man's matrix concept

2010-03-09 Thread Jonathan Shore
On Mar 9, 2010, at 1:28 AM, Per Vognsen wrote: > Which is preferable depends on the nature of the changes that your > matrices will undergo. For dense linear algebra, it's common for most > of a matrix to change with every operation. Hence you won't reap any > benefits from the persistence of Clo

Re: benchmarks on a poor-man's matrix concept

2010-03-09 Thread Jonathan Shore
On Mar 9, 2010, at 2:41 AM, Per Vognsen wrote: > By the way, I also noticed your logic is wrong. It should be (+ (* i > ncol) j) rather than (* i j). > > -Per Thanks -- I was just trying to explore how to deal with heterogeneous data. No plans to build my own matrix lib. Thanks for spotti

benchmarks on a poor-man's matrix concept

2010-03-08 Thread Jonathan Shore
Hi, I'm still trying to work out the best way to deal with operations on heterogenous data in clojure. I have a complex application which has such requirements. I wrote a simple toy matrix as a means to explore closure versus map based implementations. Note that in this case the "data str

Re: Clojure for financial applications

2010-03-08 Thread Jonathan Shore
On Mar 8, 2010, at 11:51 AM, Volkan YAZICI wrote: > On Mar 7, 6:35 pm, jshore wrote: >> Wondering whether anyone has done something very complex in the algo >> space or comparable so can get an idea of how this sort of stuff is >> structured idiomatically. I will also be concerned with perform

Clojure Implementation issues that may affect performance?

2010-03-08 Thread Jonathan Shore
Hi, I was stepping through a very simply test (not meant to be performant) and noticed the following: (ns test.performance.fibonachi) (defn fib [a] (if (< a 2) a (+ (fib (- a 1)) (fib (- a 2) (fib 45) Stepping into (if ...) noticed that (< a 2) called into the following Java c

Re: Clojure for financial applications

2010-03-08 Thread Jonathan Shore
Thanks for the reply. I could be wrong, but namespaces just provide a package / require mechanism, such that only required functionality is in the namespace of some code.This seems to be more of a mapping to the package / import mechanism of java or something similar in ruby or python. Ho