- From: <Toman_Vojtech@emc.com>
- Date: Mon, 4 May 2009 03:17:20 -0400
- To: <xproc-dev@w3.org>
- Message-ID: <6E216CCE0679B5489A61125D0EFEC7870F6D1BD9@CORPUSMX10A.corp.emc.com>
BTW, our implementation (Calumet) is written to be thread-safe. Once you get hold of a Pipeline object (which is equivalent to XProcContext in Calabash, I guess), you can run it as many times you want, or concurrently. A Pipeline has no internal state that changes while running it. Regards, Vojtech ________________________________ From: xproc-dev-request@w3.org [mailto:xproc-dev-request@w3.org] On Behalf Of David A. Lee Sent: Wednesday, April 29, 2009 9:06 PM To: Norman Walsh Cc: XProc Dev Subject: Re: Is Calabash thread-safe, multiprocessor-safe? As an independent 2nd opinion. I've integrated calabash code into a multi-threaded application. I have not reviewed all the code, but I have reviewed quite a bit of it. If you stick to seperate instances of XProcRuntime per thread and don't share ANY internal data between threads, I also believe it should be thread safe. However I can assert definitely that XProcRuntime is not sharable across threads. There are operations in some steps which affect this object at runtime, which would definately mess things up in different threads if they were sharing it. Norman Walsh wrote: "Costello, Roger L." <costello@mitre.org> <mailto:costello@mitre.org> writes: One of the organizations I support is considering using XProc and using Calabash. They asked me some questions that I was not able to answer: 1. How confident are you in the quality and correctness of the Calabash implementation? Uhhhhh. I'm reasonably confident that it produces correct results, but there are known bugs: http://code.google.com/p/xmlcalabash/issues/list and I'm sure there are unknown bugs too. It's 'beta', at best. 2. In your experience is Calabash thread-safe, multiprocessor-safe? I've made no effort to make XProcRuntime objects thread safe. I'm not even confident that they're serially reusable. But if you create two XProcRuntimes, I don't think there'd be any issue with running pipelines through them in different threads. The current implementation is single-threaded, so I don't think multiprocessors are relevant. Be seeing you, norm -- -------------------------------------------------- David A. Lee dlee@calldei.com http://www.calldei.com http://www.xmlsh.org 812-482-5224
Received on Monday, 4 May 2009 07:18:14 UTC