In the Namespace case, it might be premature optimization to worry
about AtomicReference being replaced. If there is a way to rewrite
that code with, say, synchronized blocks, and it will work better with
Terracotta, I think it would be worth doing. I don't think it would be
normal usage to be updating the mappings and aliases in a namespace
1,000 times a second.

AtomicReference is also used in Atom and Agent. Those cases may not be
as straight forward.


Paul

On Sat, Feb 28, 2009 at 11:51 AM, Luc Prefontaine
<lprefonta...@softaddicts.ca> wrote:
>
> 1) AtomicReference is used in several places. Instead of changing it, we
> think we can keep
> it when Clojure runs "locally" and provide an alternative when running in
> "shared" mode.
>
> AtomicReference is optimized to be efficient in a standalone JVM. We would
> like to
> keep it that way. Eventually Terracotta will provide instrumentation on this
> class
> by default so the "shared" implementation could be thrown away in the near
> future.
> We see the double implementations as a transition period until Terracotta
> supports
> it directly.
>
> 2) Noted
>
> Shared versus local mode:
>
> That's what we have in mind, getting Clojure to work in a "shared" mode
> versus a
> local/standalone mode. We want 0 impacts on the user code. Eventually we
> could use meta data to provide some hints that would allow us to fine tune
> shared interactions from user code. This would not impact "local" mode
> behaviours.
> We're not there yet but we know that this possibility exists so that's
> reassuring
> for the future.
>
> Integration is pretty simple once the common code base integrates the
> necessary
> changes. We need a shell script, a Terracotta configuration that will be
> maintained
> as part of the Clojure code base and some documentation.
>
> As of now we use a system property to toggle the modes, we will implement a
> transparent way (testing the presence of a terracotta property most
> probably).
>
>
> Luc

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