{"id":24762379,"url":"https://github.com/aeron-io/agrona","last_synced_at":"2025-12-16T16:41:43.788Z","repository":{"id":22790409,"uuid":"26136655","full_name":"aeron-io/agrona","owner":"aeron-io","description":"High Performance data structures and utility methods for Java","archived":false,"fork":false,"pushed_at":"2025-05-09T12:25:10.000Z","size":5719,"stargazers_count":3005,"open_issues_count":6,"forks_count":411,"subscribers_count":154,"default_branch":"master","last_synced_at":"2025-05-10T08:59:42.911Z","etag":null,"topics":["java","performance"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aeron-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2014-11-03T20:14:21.000Z","updated_at":"2025-05-09T20:12:30.000Z","dependencies_parsed_at":"2023-02-19T06:45:33.211Z","dependency_job_id":"bf0ce934-b879-4a68-993d-882de807393a","html_url":"https://github.com/aeron-io/agrona","commit_stats":{"total_commits":2604,"total_committers":68,"mean_commits":"38.294117647058826","dds":0.401689708141321,"last_synced_commit":"1e00e981f9c727319ee52670aaf492c4f06d6d62"},"previous_names":["aeron-io/agrona","real-logic/agrona"],"tags_count":115,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aeron-io%2Fagrona","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aeron-io%2Fagrona/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aeron-io%2Fagrona/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aeron-io%2Fagrona/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aeron-io","download_url":"https://codeload.github.com/aeron-io/agrona/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253391502,"owners_count":21900952,"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":["java","performance"],"created_at":"2025-01-28T20:00:39.722Z","updated_at":"2025-12-16T16:41:43.729Z","avatar_url":"https://github.com/aeron-io.png","language":"Java","funding_links":[],"categories":["Java"],"sub_categories":[],"readme":"Agrona\n======\n\n[![Javadocs](https://www.javadoc.io/badge/org.agrona/agrona.svg)](https://www.javadoc.io/doc/org.agrona/agrona)\n[![GitHub](https://img.shields.io/github/license/aeron-io/Agrona.svg)](https://github.com/aeron-io/agrona/blob/master/LICENSE)\n\n[![Actions Status](https://github.com/aeron-io/agrona/workflows/Continuous%20Integration/badge.svg)](https://github.com/aeron-io/agrona/actions)\n[![CodeQL Status](https://github.com/aeron-io/agrona/workflows/CodeQL/badge.svg)](https://github.com/aeron-io/agrona/actions)\n\nAgrona provides a library of data structures and utility methods that are a common need when building high-performance \napplications in Java. Many of these utilities are used in the [Aeron](https://github.com/aeron-io/aeron) \nefficient reliable UDP unicast, multicast, and IPC message transport and provides high-performance buffer implementations\nto support the [Simple Binary Encoding](https://github.com/aeron-io/simple-binary-encoding) Message Codec.\n\nFor the latest version information and changes see the [Change Log](https://github.com/aeron-io/agrona/wiki/Change-Log). \n\nThe latest release and **downloads** can be found in [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cagrona).\n\nUtilities Include:\n\n* Buffers - Thread safe direct and atomic buffers for working with on and off heap memory with memory ordering semantics.\n* Lists - Array backed lists of int/long primitives to avoid boxing.\n* Maps - Open addressing and linear probing with int/long primitive keys to object reference values.\n* Maps - Open addressing and linear probing with int/long primitive keys to int/long values.\n* Sets - Open addressing and linear probing for int/long primitives and object references.\n* Cache - Set Associative with int/long primitive keys to object reference values.\n* Clocks - Clock implementations to abstract system clocks, allow caching, and enable testing.\n* Queues - Lock-less implementations for low-latency applications.\n* Ring/Broadcast Buffers - implemented off-heap for IPC communication.\n* Simple Agent framework for concurrent services.\n* Signal handling to support \"Ctrl + c\" in a server application.\n* Scalable Timer Wheel - For scheduling timers at a given deadline with O(1) register and cancel time.\n* Code generation from annotated implementations specialised for primitive types.\n* Off-heap counters implementation for application telemetry, position tracking, and coordination.\n* Implementations of InputStream and OutputStream that can wrap direct buffers.\n* DistinctErrorLog - A log of distinct errors to avoid filling disks with existing logging approaches.\n* IdGenerator - Concurrent and distributed unique id generator employing a lock-less implementation of the Twitter Snowflake algorithm.\n\nBuild\n-----\n\n### Java Build\n\nBuild the project with [Gradle](http://gradle.org/) using this [build.gradle](https://github.com/aeron-io/agrona/blob/master/build.gradle) file.\n\nYou require the following to build Agrona:\n\n* The Latest release of Java 17. Agrona is tested with Java 17 and 21.\n\nFull clean and build:\n\n    $ ./gradlew\n\nLicense (See LICENSE file for full license)\n-------------------------------------------\nCopyright 2014-2025 Real Logic Limited.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    https://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faeron-io%2Fagrona","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faeron-io%2Fagrona","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faeron-io%2Fagrona/lists"}