| By Paul O'Connor | Article Rating: |
|
| October 28, 2008 01:00 PM EDT | Reads: |
5,911 |
Standards Compliance
XML is at the center of a standards ecosystem that underpins much of modern data interchange. Understanding this, Intel has baked deep and wide standards compliance into XSS. First, there is support for 45 character sets, including UTF-8, UTF-16, and EBCDIC, and other encodings that support internationalization. Intel claims 98.0% conformance with W3C and OASIS Test Suites across key industry standards including:
- W3C XML 1.0
- W3C XML Schema 1.0
- W3C XPath 1.0
- W3C XSLT 1.0
- W3C Namespaces in XML 1.0 Recommendation
- W3C DOM level 2 core and partial level 3
- SAX 2.0 core and extensions
- JAXP 1.3 and 1.4
Usage
Intel has made using the product a snap. You do have to be a code developer but the process of using the Intel XML Software Suite in your Java and/or C++ projects is all laid out for you. It's simple to install the product, set up your environment, and then leverage it inside of an IDE. <oXygen/>® XML Editor, an XML development environment, has integrated the Intel XML Software Suite and fully supports it within their IDE. The Intel XML Software Suite user's guides include instructions for using the tools inside of Eclipse and application servers. The Intel XMLSoftware Suite is configured via (you guessed it) an XML configuration file that is read once at startup. Configurable parameters include maximum memory consumed across all of the product at runtime, and the number of threads to be used in processing XSLT transforms. One interesting aspect for Java developers is Intel XML Software Suite's use of native memory instead of JVM memory. This should prove a help in reducing garbage collection overhead, which can be experienced in a pure Java XML toolkit like Apache Xalan/Xerces. At the same time, as a native library, Intel XML Software Suite has the capability to cause the JVM to core dump, so pay close attention to the Java JDK compatibility section of the Java User's Guide and architect your application for this possibility. Code samples are provided for each of the four tools, providing good coverage of the core functionality of each. For the XSLT Accelerator there is a detailed section on XSLT extension functions and elements. The product provides extensions as defined by the EXLT Community Project, including date, math, node set manipulation functions, among others. There is also support for custom extension functions.
Performance
Getting to the meat of the matter, Intel has published some rather compelling performance metrics for their product across a set of common XML processing scenarios. The performance tests compared the Intel XML Software Suite for Java against XercesJ 2.9.0 (parsing and schema validation) and Xalan 2.7.0 (XPath and XSLT). The test platform leveraged two quad-core Xeon processors running at 2.66 GHz, 16 GB RAM, and ran SUN JDK 1.6.0_02 on a SuSE Linux Enterprise Server. The test methodology centered on having a number of threads iterate over a shared pool of workload tasks after a warm up period in which each thread is allowed to set up the structures needed for the test, e.g., load documents and classes, and pre-compile schemas and expressions. The workload metric varies across each of the test scenarios, e.g., throughput in MB/sec, XPath expressions/sec, or Transformations/sec. The following performance results are published by Intel. Intel recently has also provided a free XML Benchmark Tool to help developers measure and compare different XML processing engines.
SAX Parsing
The SAX parsing test was run against 22 XML documents of varying sizes, some as large as 200 KB, drawn from a wide variety of sources so as to be as representative as possible.
|
# of threads |
Intel XSS throughput (MB/s) |
Xerces 2.9.0 throughput (MB/s) |
|
1 |
89 |
40 |
|
2 |
156 |
90 |
|
4 |
300 |
158 |
|
8 |
553 |
225 |
Schema Validation
The schema validation test was run against a set of six XML Schemas and associated sample XML documents drawn from different public sources so as to be representative of common schema validation.
|
# of threads |
Intel XSS throughput (MB/s) |
Xerces 2.9.0 throughput (MB/s) |
|
1 |
69 |
17 |
|
2 |
141 |
25 |
|
4 |
276 |
36 |
|
8 |
507 |
54 |
XPath
The XPath test was run against the XPathMark test suite, which encompasses a wide variety of queries resulting in a wide range of returned nodes.
|
# of threads |
Intel XSS eval time (ms) |
Xalan 2.7.0 eval time (ms) |
|
1 |
767 |
3127 |
|
2 |
429 |
1640 |
|
4 |
244 |
947 |
|
8 |
151 |
698 |
XSLT
A wide variety of publicly available stylesheets were used, which represent a common set of transform scenarios, including XML-to-HTML.
|
# of threads |
Intel XSS throughput (trans/s) |
Xalan 2.7.0 throughput (trans/s) |
|
1 |
1628 |
278 |
|
2 |
2790 |
510 |
|
4 |
4794 |
732 |
|
8 |
6961 |
724 |
Conclusion
If you are an SOA architect who is concerned about the effect of XML processing on the performance of your systems, take a look at Intel XML Software Suite. It offers superior performance for XML processing in Java and C/C++, especially if you can run it on dual-core or multi-core Intel Xeon processors. You will find it has excellent standards compliance, excellent documentation and examples, and even a burgeoning user community.With the importance of XML and XML processing to data interchange, it is great to see the Software and Services Group at Intel address this issue head-on.
Published October 28, 2008 Reads 5,911
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Paul O'Connor
Paul O'Connor is SOA Practice Director and Chief SOA Architect for e-brilliance LLC (a leading NE SOA consultancy), and is currently doing major SOA architecture and implementations for Fortune 100 clients across the US. Previously he was chief architect for Damascus Road Systems, specializing in security architecture.
- Kindle 2 vs Nook
- Why IBM’s Server Chief Got Busted
- Is Cloud Computing Like Teenage Sex?
- Industry Experts Discuss the State of Cloud Computing
- Performance Tuning Essentials for Java
- Confessions of a Ulitzer Addict
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- It's the Java vs. C++ Shootout Revisited!
- Cloud Computing Can Revitalize Your Career as Software Developer
- IBM Could "Reinvent" Java: Mills
- Oracle & Cloud Computing: Exclusive Q&A with SVP Richard Sarwal
- A Brief History of Cloud Computing
- Kindle 2 vs Nook
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Why IBM’s Server Chief Got Busted
- Is Cloud Computing Like Teenage Sex?
- Industry Experts Discuss the State of Cloud Computing
- Performance Tuning Essentials for Java
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Confessions of a Ulitzer Addict
- My Thoughts on Ulitzer
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- What's New in Eclipse?
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- i-Technology Predictions for 2007: Where's It All Headed?









































