OT: @Peter Mancini I would like to invite you, like* everybody else who is doing a lot of math and especially matrix*, to check out core.matrix ( https://github.com/mikera/matrix-api) and leave as many feedback as possible about everything, from design to implementation of library to performance.
Sorry the OT On Wednesday, April 3, 2013 5:29:16 PM UTC+2, Peter Mancini wrote: > > Those are good answers and it is acceptable, but what ends up happening is > that it creates objects. I just used a profiler and that operation inside > of my code for a typical run is executed 1,500 million times. It makes up > the lions share of self-time measurements. Each object needs construction, > destruction and garbage collection even though internally it may be using a > primitive type. I'm working with large data structures and doing a lot of > math (mainly matrix math) and so this is where I am getting slaughtered in > performance. As confirmed by Clojure Programming there is contagion > afterwards where everything afterward touched by those numbers becomes > BigInt. > > I'm working on rethinking how I am doing the math so that it doesn't > produce so many objects. I think that doing it in the order that the sane > looking algebra is laid out makes for readable code but the object > contagion is robbing my program of speed. Since a true production run will > end up being a million million of these types of operations I need to > reconsider how I am going to lay this out. > > A couple of ideas come to mind such as delaying the use of division or > pre-calculating the range of division results since there would only be a > few of them. It's really interesting looking at performance for something > simple that is going to be called so many times. > > Thanks for the information so far. > -- -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.