Skip to content

Performance

Omar Piani edited this page Nov 8, 2018 · 6 revisions

Generally .NET Core 2.1, as promised, is quite faster, but not how expected. Access to disk to read configuration with .NET Framework is sensibly faster.

Running each test 250.000 times

.NET Core 2.1


Direct Creation: [new InMemoryRepository()]

419,0705 ms total -- 0,001676282 avg ms per req

Custom repo hardcoded: [UserRepository : InMemoryRepository<User,int>]

426,1627 ms total -- 0,0017046508 avg ms per req

From config file: [RepositoryFactory.GetInstance<User, int>()]

102343,4275 ms total -- 0,40937371 avg ms per req

From config obj: [RepositoryFactory.GetInstance<User, int>(config)]

994,6524 ms total -- 0,0039786096 avg ms per req

Custom repo config: [UserRepository : ConfigurationBasedRepository<User, int>]

951,6363 ms total -- 0,0038065452 avg ms per req

StructureMap w/ config: [container.GetInstance<IRepository<User, int>>()]

1303,3376 ms total -- 0,0052133504 avg ms per req

.NET Core 2.0


Direct Creation: [new InMemoryRepository()]

502,4544 ms total -- 0,0020098176 avg ms per req

Custom repo hardcoded: [UserRepository : InMemoryRepository<User,int>]

496,9562 ms total -- 0,0019878248 avg ms per req

From config file: [RepositoryFactory.GetInstance<User, int>()]

114588,1645 ms total -- 0,458352658 avg ms per req

From config obj: [RepositoryFactory.GetInstance<User, int>(config)]

1128,9643 ms total -- 0,0045158572 avg ms per req

Custom repo config: [UserRepository : ConfigurationBasedRepository<User, int>]

1134,4413 ms total -- 0,0045377652 avg ms per req

StructureMap w/ config: [container.GetInstance<IRepository<User, int>>()]

1500,8608 ms total -- 0,0060034432 avg ms per req

.NET Framework 4.6.1


Direct Creation: [new InMemoryRepository()]

481,6651 ms total -- 0,0019266604 avg ms per req

Custom repo hardcoded: [UserRepository : InMemoryRepository<User,int>]

492,4091 ms total -- 0,0019696364 avg ms per req

From config file: [RepositoryFactory.GetInstance<User, int>()]

78535,0415 ms total -- 0,314140166 avg ms per req

From config obj: [RepositoryFactory.GetInstance<User, int>(config)]

1131,8681 ms total -- 0,0045274724 avg ms per req

Custom repo config: [UserRepository : ConfigurationBasedRepository<User, int>]

1141,7344 ms total -- 0,0045669376 avg ms per req

StructureMap w/ config: [container.GetInstance<IRepository<User, int>>()]

1470,2279 ms total -- 0,0058809116 avg ms per req

Clone this wiki locally