Giter VIP home page Giter VIP logo

viewenginetests's Introduction

Testing various alternative view engine implimentations

  • XmlView - original Suave style template
  • GiraffeView - struct/enum variation
  • ByteView - lightweight streamwriter nodes
  • TemplateView - Alt syntax templateing engine of compiled components

1 - using memory stream to assess raw performance without IO

BenchmarkDotNet=v0.10.11, OS=Windows 10 Redstone 3 [1709, Fall Creators Update] (10.0.16299.192)
Processor=Intel Core i7-4770K CPU 3.50GHz (Haswell), ProcessorCount=8
Frequency=3415989 Hz, Resolution=292.7410 ns, Timer=TSC
.NET Core SDK=2.1.4
  [Host]     : .NET Core 2.0.5 (Framework 4.6.26020.03), 64bit RyuJIT DEBUG
  DefaultJob : .NET Core 2.0.5 (Framework 4.6.26020.03), 64bit RyuJIT

Method Mean Error StdDev Scaled ScaledSD Gen 0 Allocated
GiraffeView 4.739 us 0.0504 us 0.0447 us 3.11 0.03 1.4801 6240 B
XmlView 8.586 us 0.1155 us 0.1081 us 5.63 0.07 3.3417 14040 B
ByteView 1.525 us 0.0053 us 0.0044 us 1.00 0.00 0.2899 1224 B
ByteViewAsync 5.287 us 0.0427 us 0.0400 us 3.47 0.03 1.1673 4904 B
TemplateView 1.407 us 0.0122 us 0.0114 us 0.92 0.01 0.1469 624 B

2 - Test on filesystem to see how much IO impacts perf and if benfit material

BenchmarkDotNet=v0.10.11, OS=Windows 10 Redstone 3 [1709, Fall Creators Update] (10.0.16299.192)
Processor=Intel Core i7-4770K CPU 3.50GHz (Haswell), ProcessorCount=8
Frequency=3415989 Hz, Resolution=292.7410 ns, Timer=TSC
.NET Core SDK=2.1.4
  [Host]     : .NET Core 2.0.5 (Framework 4.6.26020.03), 64bit RyuJIT DEBUG
  DefaultJob : .NET Core 2.0.5 (Framework 4.6.26020.03), 64bit RyuJIT

Method Mean Error StdDev Scaled ScaledSD Gen 0 Allocated
GiraffeView 240.4 us 4.754 us 6.664 us 1.00 0.04 2.4414 10.3 KB
XmlView 256.0 us 3.271 us 3.060 us 1.07 0.03 3.9063 17.91 KB
ByteView 239.5 us 4.627 us 6.017 us 1.00 0.00 1.2207 5.39 KB
ByteViewAsync 337.9 us 5.047 us 4.214 us 1.41 0.04 4.8828 2.69 KB
TemplateView 244.2 us 4.527 us 5.031 us 1.02 0.03 0.9766 4.81 KB

viewenginetests's People

Contributors

gerardtoconnor avatar

Stargazers

Jimmy Byrd avatar Dmitry Kushnir avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.