Wow I can't believe my silly question actually led to a whole independent 
project!

On Friday, February 10, 2012 9:36:53 AM UTC-6, tbc++ wrote:
>
> >> I have some set of algorithms that needs such-and-such operations to
> be as fast as possible. Can I create a VM that is tailored for that?
>
> Yes, this is basically what PyPy does for Regexes, they have a custom
> regex engine that has "can_enter_jit" in it. So basically what you get
> is a jitted regex engine. The results are astounding:
>
> http://morepypy.blogspot.com/2010/06/jit-for-regular-expression-matching.html
> They show a 8x speed improvement over the Java Regex engine. Now for
> core.logic...that's a bit of a different story.
>
> The thing about tracing JITs is that they excel at making small tight
> loops extremely efficient, so depending on the implementation of
> core.logic, that may or may not apply.
>
>
> >>It would be pretty impressive if one could parameterize the VM space,
> and access different parts of that space within a contiguous clojure
> program.
>
> So that's a bit hard due to the way PyPy implements types...or
> doesn't. PyPy does not define what a type is at all. Instead it leaves
> the typing system open to the developer of the interpreter. So a C#
> interpreter may define a type's vtable as a list, and use ids to
> figure out what method to run, or a Python jit may just use a
> dictionary to look up a method on a given type. Because of this, the
> JIT really has no way to perform interop between two types. On top of
> that, PyPy does not allow loading any modules at runtime. All interop
> with outside libs must be through FFI (like ctypes in Python). So
> actually the standard library in pypy is 100% pure python code that
> makes FFI calls to C Libraries. In CPython, there is a mixture of C
> and Python code.
>
> Timothy
>
>

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