|
FastInfoset.NET™ enables you to
reduce XML document size and increase XML processing
performance by using the Fast Infoset encoding. Fast Infoset is a standards-based
binary encoding for the XML Infoset that is widely available on Java and far more efficient than the text, .NET Binary and MTOM
encodings.
FastInfoset.NET offers a Fast Infoset encoder that integrates fully into the XML API of .NET
through its
XmlFastInfosetReader and
XmlFastInfosetWriter classes which implement the abstract
XmlReader and
XmlWriter of .NET.
FastInfoset.NET is
cross-platform interoperable with other .NET, Java and C/C++ implementations, it runs on
both .NET and .NET CF, it offers optional GZIP
compression, it is written in
100% managed C# code, its assemblies can be distributed
royalty-free, its
full source code is available, and you get a free subscription with every purchase.
To help you feel at ease with binary XML, there is an FI Viewer that displays
the contents of Fast Infoset files and an FI Converter that converts between text
XML files and Fast Infoset files. These utilities are freely available.
Standards-based, cross-platform binary XML is here. Try it now!
 |
Want to use Fast Infoset as a message encoding for WCF? Go to WCF-Xtensions. |
|
Smaller XML document size
To show how much smaller Fast Infoset documents can be, we retrieved from the Web twenty-five disparate sets of
publicly available XML documents and compared their sizes using the text, Fast Infoset and .NET Binary encodings.
Documents encoded using Fast Infoset were significantly more compact than when using any of the other
encodings, even down to a 10th of the size of the text encoding.
We also compared the sizes of SOAP messages containing binary data using the text, Fast Infoset and MTOM
encodings. Again, Fast Infoset was the most compact.
You can read the full details of the size comparisons here.


Faster XML processing speed
Fast Infoset was benchmarked by running the same tests that Sun and Microsoft used to compare the
processing performance of text XML in Java and .NET. We measured the performance of the text reader/writer, the text
dictionary reader/writer, the Fast Infoset reader/writer, the Fast Infoset dictionary reader/writer, and the
.NET Binary dictionary reader/writer.
In all tests Fast Infoset ranked first, demonstrating that it is not only
the most compact but also the fastest XML encoding when compared to the XML encodings provided by .NET.
You can read the full details of the performance benchmarks here.

The Fast Infoset standard
Fast Infoset is an open standard that has been published as an ITU-T Recommendation and
ISO/IEC International Standard (ITU-T
Rec. X.891 | ISO/IEC
24824-1).
This standard specifies a binary encoding for the W3C XML Information
Set that is designed to improve the efficiency of the text XML encoding by producing a more compact representation at a
higher
transaction rate.
Cross-platform interoperable
Fast Infoset is available not only on .NET and .NET CF but also on a wide range of other platforms such as
Sun GlassFish and
Java System Application Server, BEA WebLogic, Java SE, IBM SDK for Java, TMax Soft JEUS, Apache Axis, as
well as on Win32, Linux, Mac OS X, Solaris, Symbian and QNX Nutrino.
To ensure interoperability between the various Fast Infoset implementations for .NET, Java and
C/C++, Noemax joined the
Fast Infoset Interoperability Project where the Fast Infoset
community coordinates, tests and promotes interoperability between multiple and cross platform implementations.
FastInfoset.NET has passed all interoperability tests performed against the implementations of
Sun Microsystems and other vendors that are participating in fi-interop.
More efficient with binary data than MTOM
Fast Infoset can also efficiently encode binary data like images, videos and other opaque items.
Both Fast Infoset and MTOM read and write binary data as it is, avoiding the costly base64 or hexadecimal
transformations of the text encoding that increase size and reduce performance. But while MTOM is quite inefficient with small
amounts of binary data as it actually increases message size when it contains less than 2,350 bytes of binary data, Fast Infoset
is efficient with any amount of binary data in the message payload.
Plus, Fast Infoset can reduce the size of the whole message irrespective of whether it contains binary data,
contrary to MTOM which can only reduce the size of the binary data that might be contained in the message.
Runs on both .NET and .NET CF
In low-bandwidth or resource-constrained environments the efficiency benefits that Fast Infoset can offer are
particularly important as:
- Lower bandwidth usage reduces communication costs.
- Faster processing performance reduces power consumption.
- Exchanging shorter messages reduces the risk of interruption.
- Smaller document size reduces storage requirements.
The availability of FastInfoset.NET on both .NET Framework and .NET Compact Framework makes
it an excellent choice for using on and communicating with mobile devices.
Integrates into the XML API of .NET
Using the Fast Infoset encoding is as easy as using the text encoding. The reader and writer classes of
FastInfoset.NET implement the abstract XmlReader and XmlWriter
classes of .NET, so you get all the benefits of using them as an integral part of the XML API of .NET. If you are familiar with
the XmlTextReader and
XmlTextWriter of .NET, you will immediately feel comfortable with the
XmlFastInfosetReader and
XmlFastInfosetWriter classes.
FastInfoset.NET includes an MSDN-style class reference that integrates into the Visual Studio Combined
Help Collection and offers IntelliSense context sensitive help within your project.
You can view the class reference online or download it as a single file from here.
Tutorials are available in the forums.
Optional GZIP compression
FastInfoset.NET also includes DotNetGZip which provides an implementation of the GZIP and DEFLATE Internet
Standards. The classes of DotNetGZip offer higher compression ratios than the System.IO.Compression classes of .NET,
enable you to specify the compression level so that you can select the desired balance between performance and
compactness, let you add a filename so that the original filename can be restored during decompression and also let you
access other metadata in the header. Size comparisons and other information about the benefits of DotNetGZip is available
here.
When minimum document size is required, you can greatly reduce the processing cost of compression by combining the Fast Infoset encoding with
GZIP compression. Since Fast Infoset produces smaller documents than any of the system-provided encodings, the amount of processing
required to compress Fast Infoset documents is the least possible.
The DotNetGZip classes are independent of the Fast Infoset classes, so you can use DotNetGZip to compress any type of stream.
FI Viewer and FI Converter
Two easy and free utilities, FI Viewer and
FI Converter, enable you to display the contents of Fast Infoset files
and to convert between the text and Fast Infoset encodings.
Royalty-free distribution
FastInfoset.NET includes redistributable assemblies which you may deploy with your end-user applications without paying
per server, per client or any other type of runtime fees.
You can read the license text
here. If you have any questions or would like some change in its terms, such as an exemption or additional permission,
please contact us.
100% managed C# code
FastInfoset.NET is written in 100% managed C# code. Its strong-named assemblies are without any external references
to non-managed components.
Full source code available
The Enterprise edition includes a Visual Studio project with the
product's full source code.
Having access to the source code helps you understand how FastInfoset.NET is implemented so that you can
make better use of it in your applications,
enables you to debug easier your applications, and provides business continuity assurance without the need for
an escrow service.
Free subscription
All FastInfoset.NET editions include an initial subscription at no extra cost. Depending on the
edition you select, the subscription may include:
- Update Protection
Free access to minor updates and major upgrades.
- Premium Support
Web-initiated technical support for an unlimited number of issues.
- Rapid Response
Priority e-mail support, phone support and 24x7 critical failure notification.
|