Skip to content

WooCode/OmnIoC

Repository files navigation

OmnIoC Build status NuGet

Portable Class Library Ioc that is fast and works in

  1. .Net Framework 4+
  2. Windows Store Apps
  3. Windows Phone 8.1

OmnIoC is very much in development and should not be seen as production-ready

Install

PM> Install-Package OmnIoC.Portable

Current features

  • Nongeneric register/resolve (set/get)
  • Generic register/resolve (set/get) fast
  • Named registrations/resolves
  • Resolve multiple registrations of type as IEnumerable< T >

Planned features

  • Attribute based registration/discovery
  • Auto resolve constructor parameters

Example code

Performance comparison

Imgur The values are from using this performance test with the latest versions of all Ioc's and added adapter for OmnIoC. Also modified adapters to use generics where possible since OmnIoC is generic in it's core and not be unfair to other Iocs.

Here are all comparisons / stats including Iocs that didn't reach low enough values to be included in the graph

First value: Time of single-threaded execution in [ms]
Second value: Time of multi-threaded execution in [ms]

*: Benchmark was stopped after 3 minutes and result is extrapolated.

Lower is better and bold values indicate best in test

Container Singleton Transient Combined Complex
OmnIoC 0.0.18 29
37
40
56
54
80
102
82
Caliburn.Micro 1.5.2 453
312
549
330
1508
881
6460
3927
Catel 3.9.0 375
385
3620
4131
11233
10056
24933
28175
DryIoc 1.3.1 61
56
70
70
84
95
109
92
Dynamo 3.0.2.0 113
91
116
93
221
153
586
368
fFastInjector 0.8.1 96
76
152
99
191
139
270
173
Funq 1.0.0.0 132
95
169
135
398
276
1046
599
Grace 2.3.10 201
138
338
246
779
462
1830
1368
Griffin 1.1.2 289
192
299
208
691
433
1834
1067
HaveBox 2.0.0 69
70
77
73
105
94
136
110
Hiro 1.0.4.41795 164
112
162
113
194
140
245
166
IfInjector 0.8.1 98
91
146
113
173
140
222
155
LightInject 3.0.1.7 60
55
70
63
83
93
104
92
LinFu 2.3.0.41559 3134
1771
17181
12464
44774
31226
118910
76547
Maestro 1.4.0 282
205
329
241
961
624
2806
1591
Mef 4.0.0.0 22914
12557
37098
22722
56772
39858
113138
124159
Mef2 1.0.27.0 229
150
240
167
311
214
526
323
MicroSliver 2.1.6.0 191
219
800
537
2455
1421
6945
4539
Mugen 3.5.1 439
429
705
567
1974
1531
7592
5958
Munq 3.1.6 108
89
158
113
503
299
1620
875
Ninject 3.2.2.0 4545
2952
14408
11068
38996
27247
128918
87802
Petite 0.3.2 4770
2864
3382
2175
4299
2871
5222
3430
SimpleInjector 2.5.2 85
73
115
86
130
110
192
147
Spring.NET 1.3.2 934
722
12087
7253
34341
20719
83878
50552
StructureMap 3.1.0.133 2425
2820
2102
1992
5998
5945
14671
14558
StyleMVVM 3.1.5 563
329
610
369
860
520
1497
956
TinyIoC 1.2 390
332
1794
1124
7584
4914
30510
18941
Unity 3.5.1404.0 2273
1399
3475
2160
9667
5899
28905
18180
Windsor 3.3.0 530
336
1765
1052
5512
3627
16869
10077

More readme coming soon ™

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages