{"id":24774994,"url":"https://github.com/delphington/benchmark","last_synced_at":"2025-10-25T08:33:08.498Z","repository":{"id":274343272,"uuid":"922624277","full_name":"Delphington/Benchmark","owner":"Delphington","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-02T08:11:37.000Z","size":150,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-23T23:30:38.952Z","etag":null,"topics":["benchmark","java21","lombok","reflection"],"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/Delphington.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-26T17:41:01.000Z","updated_at":"2025-02-02T08:11:40.000Z","dependencies_parsed_at":"2025-01-26T18:42:41.206Z","dependency_job_id":null,"html_url":"https://github.com/Delphington/Benchmark","commit_stats":null,"previous_names":["delphington/benchmark"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Delphington/Benchmark","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Delphington%2FBenchmark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Delphington%2FBenchmark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Delphington%2FBenchmark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Delphington%2FBenchmark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Delphington","download_url":"https://codeload.github.com/Delphington/Benchmark/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Delphington%2FBenchmark/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274244227,"owners_count":25248157,"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","status":"online","status_checked_at":"2025-09-09T02:00:10.223Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["benchmark","java21","lombok","reflection"],"created_at":"2025-01-29T06:37:25.958Z","updated_at":"2025-10-25T08:33:03.440Z","avatar_url":"https://github.com/Delphington.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Benchmark test\nПроект предназначен для реализации и сравнения производительности четырех различных способов обращения к методу Student#name() (или любому другому классу/интерфейсу) в Java.\n- Прямой доступ\n- java.lang.reflect.Method\n- java.lang.invoke.MethodHandles\n- java.lang.invoke.LambdaMetafactory\n\n| Benchmark               | Mode | Score   | Units   |\n|------------------------|------|---------|---------|\n| Main.directAccess      | avgt | 0.902   | ns/op   |\n| Main.lambdaMetafactory | avgt | 6.747   | ns/op   |\n| Main.methodHandles     | avgt | 5.405   | ns/op   |\n| Main.reflection        | avgt | 9.717   | ns/op   |\n\n\n\n## Структура проекта\n\nЭто типовой Java-проект, который собирается с помощью инструмента автоматической\nсборки проектов [Apache Maven](https://maven.apache.org/).\n\nПроект состоит из следующих директорий и файлов:\n\n- [pom.xml](./pom.xml) – дескриптор сборки, используемый maven, или Project\n  Object Model. В нем описаны зависимости проекта и шаги по его сборке\n- [src/](./src) – директория, которая содержит исходный код приложения и его\n  тесты:\n  - [src/main/](./src/main) – здесь находится код вашего приложения\n  - [src/test/](./src/test) – здесь находятся тесты вашего приложения\n- [mvnw](./mvnw) и [mvnw.cmd](./mvnw.cmd) – скрипты maven wrapper для Unix и\n  Windows, которые позволяют запускать команды maven без локальной установки\n- [checkstyle.xml](checkstyle.xml),\n  [checkstyle-suppression.xml](checkstyle-suppression.xml), [pmd.xml](pmd.xml) и\n  [spotbugs-excludes.xml](spotbugs-excludes.xml) – в проекте используются\n  [линтеры](https://en.wikipedia.org/wiki/Lint_%28software%29) для контроля\n  качества кода. Указанные файлы содержат правила для используемых линтеров\n- [.mvn/](./.mvn) – служебная директория maven, содержащая конфигурационные\n  параметры сборщика\n- [lombok.config](lombok.config) – конфигурационный файл\n  [Lombok](https://projectlombok.org/), библиотеки помогающей избежать рутинного\n  написания шаблонного кода\n- [.editorconfig](.editorconfig) – файл с описанием настроек форматирования кода\n- [.github/workflows/build.yml](.github/workflows/build.yml) – файл с описанием\n  шагов сборки проекта в среде Github\n- [.gitattributes](.gitattributes), [.gitignore](.gitignore) – служебные файлы\n  для git, с описанием того, как обрабатывать различные файлы, и какие из них\n  игнорировать\n\n\nЗапуск только компиляции основных классов:\n\n```shell\nmvn compile\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelphington%2Fbenchmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdelphington%2Fbenchmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelphington%2Fbenchmark/lists"}