{"id":507,"date":"2009-07-01T21:00:45","date_gmt":"2009-07-01T20:00:45","guid":{"rendered":"http:\/\/www.gamlor.info\/wordpress\/?p=507"},"modified":"2021-03-11T09:44:41","modified_gmt":"2021-03-11T08:44:41","slug":"hiro-the-worlds-fastest-ioc-container","status":"publish","type":"post","link":"https:\/\/www.gamlor.info\/wordpress\/2009\/07\/hiro-the-worlds-fastest-ioc-container\/","title":{"rendered":"Hiro, the World&#8217;s Fastest IOC Container"},"content":{"rendered":"<p>The creator of the <a href=\"http:\/\/code.google.com\/p\/linfu\/\">LinFu<\/a>-library is working on the \u2018world\u2019s fastest <a href=\"http:\/\/en.wikipedia.org\/wiki\/Dependency_Injection\">IOC container<\/a>\u2019, called <a href=\"http:\/\/plaureano.blogspot.com\/2009\/04\/introducing-hiro-worlds-fastest-ioc.html\">Hiro<\/a>. Basically <a href=\"http:\/\/plaureano.blogspot.com\/2009\/04\/introducing-hiro-worlds-fastest-ioc.html\">Hiro<\/a> reads&#160; once the configuration and then it compiles everything to a fixed, immutable container. The compiled container has then \u2018burned in\u2019 the wiring of all components in <a href=\"http:\/\/en.wikipedia.org\/wiki\/Common_Intermediate_Language\">IL-Code<\/a>. So there\u2019s no state, no map lookups and no locking required. This makes Hiro a whole magnitude faster than traditional IOC-Containers like <a href=\"http:\/\/code.google.com\/p\/autofac\/\">AutoFac<\/a>, <a href=\"http:\/\/ninject.org\/\">Ninject<\/a> etc.<\/p>\n<p>Of course, due the container is compiled, it isn\u2019t as flexible as a non-compiled container. But I think it will serve its purpose well. Most of the fancy features aren\u2019t that important.<\/p>\n<p>That said, I think most of the projects don\u2019t really care about the speed of their IOC-container. The average application doesn\u2019t create hundreds or thousands of service-instances per second. So for the average application there\u2019s no need for a faster container. However&#160; I can image application which will benefit massively from a faster one. <\/p>\n<p>So for my projects I\u2019ll continue to use the wonderful <a href=\"http:\/\/code.google.com\/p\/autofac\/\">AutoFac<\/a>-container.<\/p>\n<p>More info on Hire: <\/p>\n<ul>\n<li><a href=\"http:\/\/plaureano.blogspot.com\/2009\/04\/introducing-hiro-worlds-fastest-ioc.html\">Philip Laureano: Introducing Hiro Part I<\/a><\/li>\n<li><a href=\"http:\/\/plaureano.blogspot.com\/2009\/04\/introducing-hiro-worlds-fastest-ioc_15.html\">Philip Laureano: Introducing Hiro Part II<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The creator of the LinFu-library is working on the \u2018world\u2019s fastest IOC container\u2019, called Hiro. Basically Hiro reads&#160; once the configuration and then it compiles everything to a fixed, immutable&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[126,17],"tags":[21,102,101,125],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/posts\/507"}],"collection":[{"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/comments?post=507"}],"version-history":[{"count":9,"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/posts\/507\/revisions"}],"predecessor-version":[{"id":3816,"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/posts\/507\/revisions\/3816"}],"wp:attachment":[{"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/media?parent=507"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/categories?post=507"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gamlor.info\/wordpress\/wp-json\/wp\/v2\/tags?post=507"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}