I can't speak for clojure, so I'm interested in seeing how people who can
will answer.

There's so much to consider.  I've heard Haskell is getting faster and has
(or will have) parallel programming under the scenes (automatically doing
independent parts of operations).  There are other fast functional
languages, like OCaml and Clean, but I don't know about concurrency.

As for C++, can you afford a Cray?  They have pragmas for making parallelism
easy, and a special CPU that can do like 128 operations (one for each of 128
simultaneous streams of input) in a single cycle . . . which I think is
really cool!  If THAT becomes mainstream, I'm not sure one could argue that
C++ will be left in the dust.  Now, if Cray, stays super duper expensive,
then it's not really part of the discussion.

On Mon, Jan 12, 2009 at 12:41 AM, Mark P <pierh...@gmail.com> wrote:

>
> I have recently found out about Clojure and am
> rather impressed.  I am seriously considering
> whether Clojure is a viable language for use at
> work.  The main stumbling block would be if
> performance (both speed and memory) turns out
> to be insufficent.  I currently use C++, but I'd love
> to be able to leave C++ behind and use Clojure
> (or similar) instead.
>
> The programs I write perform applied mathematical
> optimization (using mainly integer arithmetic)
> and often take hours (occasionally even days)
> to run.  So even small percentage improvements
> in execution speed can make a significant
> practical difference.  And large problems can use
> a large amount of memory - so memory efficiency
> is also a concern.
>
> Given these performance considerations, at first
> glance Clojure does not seem like a good choice.
> But I don't want to give up on the idea just yet.
> The allure of modernized lisp-style programming
> is really tempting.
>
> There are three key factors that still give me
> hope:
>
> 1. Some of the algorithms I use have the potential
> to be parallelized.  I am hoping that as the number
> of cores in PCs increase, at some point Clojure's
> performance will beat C++'s due to Clojure's
> superior utilization of multiple cores.  (Any ideas
> on how many cores are needed for this to become
> true?)
>
> 2. The JVM is continually being improved.  Hopefully
> in a year or two, the performance of HotSpot will be
> closer to that of C++.  (But maybe this is just
> wishful thinking.)
>
> 3. Maybe I can implement certain performance critical
> components in C++ via the JNI.  (But I get the impression
> that JNI itself isn't particularly efficient.  Also, the more
> I pull over into the C++ side, the fewer advantages to
> using Clojure.)
>
> If all else fails, maybe I could use Clojure as a prototyping
> language.  Then when I get it right, I code up the actual
> programs in C++.  But probably a lot would get lost in
> the translation from Clojure -> C++ so would it be worth
> it?
>
> I'd love to be convinced that Clojure is a viable choice,
> but I need to be a realist too.  So what do people think?
> How realistic are my three "hopes"?  And are there
> any other performance enhancing possibilities that I
> have not taken into account?
>
> Thanks,
>
> Mark P.
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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
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