On Thu, 04 Sep 2008 20:23:04 +0530, Chaitanya Gupta mail@chaitanyagupta.com wrote:
I tried using CXML to parse a slightly big (~1.2 MB) XML in ACL 8.0. I am using the following form to parse it into a DOM:
(cxml:parse xml (cxml-dom:make-dom-builder)) ; xml is a string
Generally, it takes about 0.73-0.75 sec to parse on my machine. What also happens is that, while the parser is running, it blocks all the other threads i.e. they become unresponsive. Any clues on why it can be happening? And how it can be fixed?
Also, ACL on OS X (and Linux) does not run any Lisp code while a foreign call is being made (thus blocking all the other threads). Is there any chance that CXML calls any foreign code?
Unless they've changed this recently, AllegroCL (like LispWorks pre-6.x) has a big lock which blocks all other threads no matter whether they're Lisp or foreign threads.
Edi.