{"id":19246929,"url":"https://github.com/andrus/di-comparison","last_synced_at":"2025-04-21T11:33:11.923Z","repository":{"id":39522251,"uuid":"127531269","full_name":"andrus/di-comparison","owner":"andrus","description":"DI containers comparison","archived":false,"fork":false,"pushed_at":"2024-04-12T17:43:46.000Z","size":80,"stargazers_count":20,"open_issues_count":1,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-05-07T18:29:22.288Z","etag":null,"topics":["dependency-injection"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-31T12:45:56.000Z","updated_at":"2022-02-03T22:39:49.000Z","dependencies_parsed_at":"2022-08-29T16:10:51.951Z","dependency_job_id":null,"html_url":"https://github.com/andrus/di-comparison","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrus%2Fdi-comparison","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrus%2Fdi-comparison/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrus%2Fdi-comparison/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrus%2Fdi-comparison/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrus","download_url":"https://codeload.github.com/andrus/di-comparison/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223861010,"owners_count":17215800,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dependency-injection"],"created_at":"2024-11-09T17:34:28.385Z","updated_at":"2024-11-09T17:34:29.099Z","avatar_url":"https://github.com/andrus.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DI Containers Comparision\n\nComparing a simple app varieties on different DI containers.\n\n## IntelliJ IDEA Setup\n\nGo to \"Preferences \u003e Annotation Processors\", and check \"Enable Annotation\nProcessing\".\n\n## \"Benchmark\"\n\n```\n# Build (can't compare build times, as module ordering affects the results)\nmvn clean package\n```\n\n### File sizes\n```\nfind . -name '*.jar' |xargs ls -l |grep -v original |grep -v common\n```\n\n### Execution time\n```\ntime java -jar ./bootique/target/bootique-*.jar\ntime java -jar ./cayennedi/target/cayennedi-*.jar\ntime java -jar ./dagger/target/dagger-*.jar\ntime java -jar ./guice/target/guice-*.jar\ntime java -jar ./owb/target/owb-*.jar\ntime java -jar ./spring/target/spring-*.jar\ntime java -jar ./springboot/target/springboot-*.jar\n```\n\n## Results (Java 21)\n_MacBook Pro 2021 M1, 16GB RAM, OpenJDK Temurin-21+35_\n\n|DI| Jar w/Deps Size, KB | :arrow_down: Exec time, ms |\n|----|---------------------|----------------------------|\n|Dagger| 58                  | 90                         |\n|Cayenne DI| 71                  | 105                        |\n|Bootique| 2894                | 157                        |\n|Guice| 3827                | 204                        |\n|OpenWebBeans| 1632                | ? (failures)               |\n|Spring| 4800                | 221                        |\n|Spring Boot| 10094               | 743                        |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrus%2Fdi-comparison","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrus%2Fdi-comparison","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrus%2Fdi-comparison/lists"}