Forum Jump

Select Group :
Select Forum :
Sorted By :
Sort Order :
From The :
 
 
Thread Tools  Search this thread 
murti.gujar
May 11, 2008 5:26 PM PDT
XPath on Multi Core
Hello,

I am student doing MS at State Univ of NY at Binghamton.
I had downloaded the evaluation copy of Intel's XML Suite for C/C++
for testing its performance, as I am doing research in parallel XML.

I wanted to know whether XPath can be run on multiple cores, because
the documentation doesnt mention about it (for XSLT it does).
Also if possible can I get code to evaluate XPath on multiple cores.

Thanks & Regards,
Murti
<ngujar1@binghamton.edu>
nmorozov
May 12, 2008 6:34 AM PDT
Rate
 
#1

Hi Murti,

Thank you for your interest in Intel XML libraries, and here is what I have to say regarding your questions.

You can perform parallel XPath evaluations in different threads if you use different XPath & XPathExpression objects to do that.

There are some key points to remember: the C++ XPath interface consists of 3 main classes (XPathFactory, XPath and XPathExpression) and is partially thread-unsafe. XPathFactory objects create XPath objects, and the latter create XPathExpression objects. XPathFactory is partially thread-safe: its setter methods (setXYZ) are not thread-safe, but the rest are. The XPath object and all its created XPathExpression objects are NOT thread-safe. So, it is invalid to run either of these objects in more than one thread. For example, you cannot use one XPath object in multiple threads to evaluate different XPath expressions. This is similar to the Java JAXP interface behavior.

However, it is valid to use different XPath and XPathExpression objects in different threads to evaluate different XPath expressions, as long as such objects are local to each thread and all XPathExpression objects are used in the same thread as their parent XPath object.

To utilize multiple cores, you need to create multiple threads and thread-local XPath and XPathExpression objects in each thread to evaluate different XPath expressions.

I hope this helps.

murti.gujar
May 12, 2008 7:18 PM PDT
Rate
 
#2 Reply to #1
Thanks Nadya,

But I wanted to know are there are any products
in the XML software suite that use parallel or concurrent processing
to run faster on multicore machines?

Regards,
Murti

Forum Statistics

4387 users have contributed to 23806 threads and 69073 posts to date.
In the past 24 hours, we have 11 new thread(s) 28 new posts(s), and 37 new user(s).

In the past 3 days, the most popular thread for everyone has been OpenMP compile error The post with the most views is Passing slice of array pointer to sub The most posts were made to

Please welcome our newest member Zhu Wang (Intel)