Click here to Skip to main content
15,883,848 members
Articles / Programming Languages / C#

A Fast/Compact Serialization Framework

Rate me:
Please Sign up or sign in to vote.
4.85/5 (37 votes)
13 Oct 2010GPL35 min read 281.8K   1.2K   175  
A framework for object serializiation/deserialization that is many times faster and yields a compact output.
OpenNxSerialization Framework
Copyright (C) 2006 - 2008 "NeXtreme Innovations"
[The Next eXtreme in ingenuity]

--- Introduction ---

OpenNxSerialization is an open source derivative of NxSerialization, 
maintained by "NeXtreme Innovations" or resources thereof. It is available free 
for Non-Profit use under the General Public License (GPL), a copy 
of which is downloadable from http://www.gnu.org/copyleft/gpl.html. 
 
"NeXtreme Innovations" retains all rights not specifically granted to you by GPL.

--- Installation/Un-Installation ---

Read Install.txt in Install folder for more details.

--- History ---

OpenNxSerialization 2.0 (August 05, 2008)

    * Arrays and Collection serialization is now significantly faster.
    * New surrogates for a lot of built-in types.
    * Support for serialization of containers in System.Collections.Generic namespace.
    * Support for serialization of BitVector32, BitArray and KeyValuePair objects.
    * Support for serialization of Type objects.
    * Surrogate redirection support now provided.
    * Dynamic (on the fly) surrogates now supported.
    * Major refactoring of the API.
    * Quite a few enhancements and utilities everywhere.

OpenNxSerialization 1.5 (March 12, 2008)

    * NxFormatter now implements IRemotingFormatter.
    * New surrogates for a lot of built-in types.
    * Support for serialization of ISerializable objects.
    * Support for serialization of MarshalByRef objects.
    * Support for generic versions of SerializeAs and DeserializeAs functions.
    * Streaming context can now contain application specific items.
    * Quite a few enhancements and utilities everywhere.

OpenNxSerialization 1.0 (CompactSerialization 2.5) (July 21, 2007)

    * CompactSerialization 2.5 is now OpenNxSerialization 1.0.
    * Support for multiple instances of TypeSurrogateSelector.
    * Support for SerializeAs and DeserializeAs functions (faster and more compact).
    * Reader does not close the base stream.
    * Support to configure types using a config file.
    * Quite a few enhancements and utilities everywhere.

CompactSerialization 2.0 (May 17, 2006)

    * Support for .NET 2.0 Nullable types.
    * Circular and shared references are now handled wisely.
    * Support for permanent/hard type handles.
    * Support for enumerations, SortedList etc.
    * Major refactoring of the internal and public APIs.
    * Improved performance at places and decreased at places :).

CompactSerialization 1.0 (Feb 15, 2006)

    * Released the initial version of the framework.

    
--- Contact and Licensing ---

Read License.txt.

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


Written By
Architect
Pakistan Pakistan
Let a = b ....... (1)
a - b = a - b
a^2 - ab = a^2 - ab
a^2 - ab = a^2 - b^2 (from 1)
a (a - b) = (a + b) (a - b)
a = (a + b) ...... (2)

if a = 1
1 = (1 + 1) (from 1 & 2)
1 = 2 !!

Comments and Discussions