On Aug 20, 2010, at 1:42 PM, Paul Davis wrote:

> During a view build, a single process is used. Between two builds,
> different processes may be used. If two builds are occurring
> simultaneously, they will use two separate OS level processes. The
> add_fun will re-add the function each time it starts a view build. The
> reset command should remove references to installed functions.
> 
> I think you could be right in that it'd be hard to integrate a JVM for
> view processes because of its memory footprint in some situations with
> lots of simultaneous view builds. I was going through and refactoring
> some of that code to behave a bit more nicely which would provide the
> ability for you to do something with JInterface semi easily (i've
> never worked with it directly, but the couch side would be easier than
> it is currently).
> 
> No idea if/when I'll finish that work though. I hit a stumbling block
> with performance not improving much with the various optimizations I
> had so I have to go back and do some profiling to figure out what's
> going on.
> 
> HTH,
> Paul Davis


In the <1 hour I've devoted to the topic so far, it seems like writing a 
native_query_server that delegates to a Java process that's communicating via 
JInterface would be the best way to integrate with Java/Scala. The Java code 
could dispatch to workers via a BlockingQueue.

I'm not an Erlang whiz, so I'm using this as an excuse to learn a little Erlang 
(like I have time to learn yet another new language! :/) and see if I can do 
this myself...

Thanks!

J. Brisbin
http://jbrisbin.com/






Reply via email to