Skip to content

InfoTechBridge/OrmBenchmark

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.

OrmBenchmark

License

The goal of the ORM Benchmarking project is to determine how long it takes to execute select statement(s) against a MS SQL Server database and map the returned data to POCO/Dynamic objects in different ORMs. This program executes .Net Framework and .Net Core performance tests for supporting ORMs.

Performance Tests

The performance tests are broken in the following lists:

  • Performance test of executing one sql command frequently (500 times):

    • Performance of execute one select statement and map a returned row to a POCO object over 500 iterations
    • Performance of execute one select statement and map a returned row to a dynamic object over 500 iterations
  • Performance test of mapping database records to POCO/Dynamic objects (5000 row):

    • Performance of mapping 5000 rows returned by one select to POCO objects in one iteration
    • Performance of mapping 5000 rows returned by one select to Dynamic objects in one iteration

Testing ORMs

Here is list of ORMs and data access technologis that this program tests.

  • Pure Ado
  • Dapper
  • PetaPoco
  • ServiceStack.OrmLite
  • EntityFramework
  • InsightDatabase
  • SimpleData
  • OrmToolkit
  • DevExpress Xpo (Not working with Local DB mode )

How to run the benchmarks

Just download the project and run it or add your favorite ORM as a plugin to the project.

  • For testing .Net Framework ORMs run OrmBenchmark.Console project.
  • For testing .Net Core ORMs run OrmBenchmark.Console.NetCore project.