|
What is FastInfoset.NET?
FastInfoset.NET is a class library that provides an implementation of the Fast Infoset standard and conforms to
the XML API of .NET.
What is Fast Infoset?
Fast Infoset is an ITU-T Recommendation and
ISO/IEC International Standard (ITU-T
Rec. X.891 | ISO/IEC
24824-1). It specifies a binary encoding for the XML Infoset
that improves the efficiency of the text encoding by producing a more compact representation at a higher transaction rate.
Why should I prefer Fast Infoset as my XML encoding?
Because Fast Infoset outperforms all system-provided XML encodings in all respects. Compared to the text, .NET binary and MTOM
encodings, Fast Infoset has been shown to return both the
smallest document size and the best processing performance.
What are the practical benefits of using Fast Infoset?
Faster network communications, lower bandwidth consumption, higher XML performance, and lower storage requirements.
Is FastInfoset.NET interoperable?
Yes, it has been tested for interoperability with the corresponding Java
implementation of Fast Infoset by Sun and with several other implementations that are available for a wide range of platforms.
Does FastInfoset.NET integrate into .NET?
Yes, FastInfoset.NET acts as an integral part of .NET by implementing the abstract
XmlReader and
XmlWriter of .NET. You
can use Fast Infoset as if it was a system-provided XML encoding.
How do I switch from the text to the Fast Infoset encoding?
The
XmlFastInfosetReader and
XmlFastInfosetWriter of FastInfoset.NET are used similarly to the
XmlTextReader and
XmlTextWriter of
.NET, so in most cases all you have to do is:
- Add a reference to the Noemax.FastInfoset (or Noemax.FastInfoset.CF) assembly.
- Add the
Noemax.FastInfoset namespace.
- Replace XmlTextReader with XmlFastInfosetReader.
- Replace XmlTextWriter with XmlFastInfosetWriter.
How much smaller are Fast Infoset documents?
Take a look at the
size comparisons that were made using a large number of documents collected from several
publicly available sources on the Web.
Fast Infoset proved to be by far the most compact encoding, reducing the average document
size to about 1/4 of the text encoding and showing that it can even reduce it down to 1/10.
Are Fast Infoset documents always smaller than text?
Generally, yes. Except of some special cases such as <a></a> which is 7 bytes as text and 9 bytes as Fast Infoset, your documents will
always be smaller when using Fast Infoset.
How much will Fast Infoset reduce the size of my documents?
You can use the freely available FI Converter to find out. It will convert your
text-encoded documents to Fast Infoset-encoded documents and report the conversion ratios.
If you also wish to convert your text-encoded documents to .NET Binary-encoded documents so that you can compare
the conversion ratios of .NET Binary to those of Fast Infoset, use the MSBXML Converter.
Is Fast Infoset also efficient with binary data?
Yes, very much so. While the text encoding transforms binary data to Base64 or BinHex, Fast Infoset serializes
binary data
as it is. By avoiding these costly transformations, the speed of reading and writing binary data is increased and
the amount of space taken up by it reduced.
Is Fast Infoset better than MTOM?
Yes, for three reasons:
- Fast Infoset reduces the size of text messages irrespective of whether they contain binary data or not. MTOM
does not reduce the size of text messages that do not contain binary data.
- Fast Infoset reduces the size of text messages irrespective of the amount of binary data that they contain. MTOM
actually increases the size of text messages containing less 2,350 bytes of binary data and gradually approaches the
efficiency of Fast Infoset only above this threshold. You can read more here.
- Fast Infoset returns considerably higher transactions per second that MTOM.
Is Fast Infoset better than .NET Binary?
Yes, because it is more efficient than .NET Binary both on document size and on processing performance, it
conforms to an open international standard, and it provides interoperability with Java and other platforms.
Can I use Fast Infoset with my WCF-based Web services?
A ready-to-use, cross-platform interoperable Fast Infoset message encoding for WCF is available in
WCF-Xtensions.
How can I view the contents of Fast Infoset documents?
FI Viewer displays the contents of Fast Infoset-encoded files
formatted as text XML.
How does Fast Infoset compare to compression?
Compression
reduces document size more than Fast Infoset but also consumes a lot of additional processing power. Compressing the encoded
data introduces a substantial overhead irrespective of the encoding used, which can result in a noticeable degradation of performance,
specially to the server side when it's under load.
Contrary to compression, Fast Infoset reduces document size and increases processing speed at the same time. You don't lose anything by
using Fast Infoset, you only have gains.
Can I use both Fast Infoset and compression?
Yes, you can optionally use GZIP/DEFLATE to further compress Fast Infoset-encoded documents.
Why is compressing Fast Infoset better than compressing text?
GZIP/DEFLATE compression is heavily processor intensive. The performance penalty it introduces is generally proportional
to document size, so compressing the smaller Fast Infoset-encoded documents can be significantly faster than compressing the larger
text-encoded documents.
Does FastInfoset.NET offer compression?
Yes, FastInfoset.NET includes DotNetGZip which offers GZIP/DEFLATE
compression classes that are more efficient than the corresponding system-provided classes of .NET.
Does Fast Infoset require a schema?
No, it does not require a schema.
How does Fast Infoset handle internationalization?
Fast Infoset encodes everything as UTF-8, so it has no internationalization issues.
Can FastInfoset.NET be used on the Compact Framework?
Yes, FastInfoset.NET includes assemblies for .NET Framework and .NET Compact Framework that provide the same functionality and the
same API on both platforms.
On which versions of .NET can FastInfoset.NET be used?
It can be used on:
- .NET Framework 3.5, 3.0, 2.0.
- .NET Compact Framework 3.5, 2.0.
Can I try FastInfoset.NET?
Yes, you can download a trial from here.
Is the source code of FastInfoset.NET available?
Yes, its full source code is included in FastInfoset.NET Enterprise.
|