Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
156 changes: 156 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
# Ignore Visual Studio temporary files, build results, and
# files generated by popular Visual Studio add-ons.

# User-specific files
*.suo
*.user
*.DotSettings
*.sln.docstates

# Build results
[Bb]in/[Dd]ebug/
[Bb]in/[Rr]elease/
[Bb]in/
[Oo]bj/
x64/
build/
# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
!packages/*/build/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

*_i.c
*_p.c
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.log
*.scc

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile

# Visual Studio profiler
*.psess
*.vsp
*.vspx

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*

# NCrunch
*.ncrunch*
.*crunch*.local.xml

# Installshield output folder
[Ee]xpress

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.Publish.xml
*.pubxml

# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
packages/

# Windows Azure Build Output
csx
*.build.csdef

# Windows Store app package directory
AppPackages/

# Others
sql
*.datasource
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.[Pp]ublish.xml
*.pfx
*.publishsettings

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file to a newer
# Visual Studio version. Backup files are not needed, because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

# SQL Server files
App_Data/*.mdf
App_Data/*.ldf

# =========================
# Windows detritus
# =========================

# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Mac crap
.DS_Store


*.GhostDoc
GhostDoc.*
/Documentation

#LightSwitch generated files
GeneratedArtifacts/
_Pvt_Extensions/
ModelManifest.xml
*.GhostDoc.xml
*.sln.GhostDoc.xml
12 changes: 6 additions & 6 deletions SerializationPerformanceTest/App.config
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/>
</startup>
</configuration>
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
</startup>
</configuration>
114 changes: 58 additions & 56 deletions SerializationPerformanceTest/Program.cs
Original file line number Diff line number Diff line change
@@ -1,57 +1,59 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Mime;
using System.Threading;
using SerializationPerformanceTest.TestData.BelgianBeer;
using SerializationPerformanceTest.Testers;


namespace SerializationPerformanceTest
{
internal static class Program
{
private static void Main()
{
List<Beer> beersList = BelgianBeerDataRetriever.GetDataFromXML();
Beer beer = beersList.First();

var testers = new SerializationTester[]
{
//List of beers
new DataContractSerializationTester<List<Beer>>(beersList),
new XmlSerializationTester<List<Beer>>(beersList),
new BinarySerializationTester<List<Beer>>(beersList),
new JsonNewtonsoftSerializationTester<List<Beer>>(beersList),
new JsonServiceStackSerializationTester<List<Beer>>(beersList),
new ProtobufSerializationTester<List<Beer>>(beersList),
new MsgPackSerializationTester<List<Beer>>(beersList),

//Single beer
new DataContractSerializationTester<Beer>(beer),
new XmlSerializationTester<Beer>(beer),
new BinarySerializationTester<Beer>(beer),
new JsonNewtonsoftSerializationTester<Beer>(beer),
new JsonServiceStackSerializationTester<Beer>(beer),
new ProtobufSerializationTester<Beer>(beer),
new MsgPackSerializationTester<Beer>(beer),
};



foreach (var tester in testers)
{
using (tester)
{
tester.Test();

Console.WriteLine();
}

GC.Collect();
}

}
}
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Mime;
using System.Threading;
using SerializationPerformanceTest.TestData.BelgianBeer;
using SerializationPerformanceTest.Testers;


namespace SerializationPerformanceTest
{
internal static class Program
{
private static void Main()
{
List<Beer> beersList = BelgianBeerDataRetriever.GetDataFromXML();
Beer beer = beersList.First();

var testers = new SerializationTester[]
{
//List of beers
new DataContractSerializationTester<List<Beer>>(beersList),
new XmlSerializationTester<List<Beer>>(beersList),
new BinarySerializationTester<List<Beer>>(beersList),
new JsonNewtonsoftSerializationTester<List<Beer>>(beersList),
new JsonServiceStackSerializationTester<List<Beer>>(beersList),
new ProtobufSerializationTester<List<Beer>>(beersList),
new MsgPackSerializationTester<List<Beer>>(beersList),
new MicrosoftHadoopAvroSerializationTester<List<Beer>>(beersList),

//Single beer
new DataContractSerializationTester<Beer>(beer),
new XmlSerializationTester<Beer>(beer),
new BinarySerializationTester<Beer>(beer),
new JsonNewtonsoftSerializationTester<Beer>(beer),
new JsonServiceStackSerializationTester<Beer>(beer),
new ProtobufSerializationTester<Beer>(beer),
new MsgPackSerializationTester<Beer>(beer),
new MicrosoftHadoopAvroSerializationTester<Beer>(beer)
};



foreach (var tester in testers)
{
using (tester)
{
tester.Test();

Console.WriteLine();
}

GC.Collect();
}
Console.ReadKey();
}
}
}
Loading