{"id":13458645,"url":"https://github.com/vigna/fastutil","last_synced_at":"2025-05-11T03:42:53.126Z","repository":{"id":31869304,"uuid":"35437397","full_name":"vigna/fastutil","owner":"vigna","description":"fastutil extends the Java™ Collections Framework by providing type-specific maps, sets, lists and queues.","archived":false,"fork":false,"pushed_at":"2024-11-26T16:48:42.000Z","size":24561,"stargazers_count":1871,"open_issues_count":44,"forks_count":207,"subscribers_count":73,"default_branch":"master","last_synced_at":"2025-05-11T03:42:34.523Z","etag":null,"topics":["java","primitive-collections","sorting-algorithms"],"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/vigna.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES","contributing":null,"funding":null,"license":"LICENSE-2.0","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":"2015-05-11T16:59:13.000Z","updated_at":"2025-05-10T06:27:11.000Z","dependencies_parsed_at":"2024-01-13T17:49:13.536Z","dependency_job_id":"d0c3f70b-8556-4110-b5df-394b0340c830","html_url":"https://github.com/vigna/fastutil","commit_stats":{"total_commits":1789,"total_committers":27,"mean_commits":66.25925925925925,"dds":0.519284516489659,"last_synced_commit":"d75a9af680a1c2e10eb820320447b6858aefcd44"},"previous_names":[],"tags_count":39,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vigna%2Ffastutil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vigna%2Ffastutil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vigna%2Ffastutil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vigna%2Ffastutil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vigna","download_url":"https://codeload.github.com/vigna/fastutil/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253514552,"owners_count":21920334,"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","primitive-collections","sorting-algorithms"],"created_at":"2024-07-31T09:00:54.840Z","updated_at":"2025-05-11T03:42:53.110Z","avatar_url":"https://github.com/vigna.png","language":"Java","readme":"# Welcome to fastutil\n\n[fastutil](http://fastutil.di.unimi.it/) extends the Java Collections\nFramework by providing type-specific maps, sets, lists, and queues with a\nsmall memory footprint and fast access and insertion; it provides also big\n(64-bit) arrays, sets, and lists, sorting algorithms, fast, practical I/O\nclasses for binary and text files, and facilities for memory mapping large\nfiles.\n\nSince version 8.5.5, fastutil is split into two jars for convenience:\n\n- `fastutil-core.jar` contains data structures based on integers, longs,\n  doubles, and objects;\n\n- `fastutil.jar` is the classic distribution, containing all classes.\n\nNote that core classes are duplicated in the standard jar, so if you are\ndepending on both (for example, because of transitive dependencies) you\nshould exclude the core jar.\n\nPrevious split versions would provide different classes in different jars,\nbut managing sensibly dependencies turned out to be impossible.\n\nYou can also create a small, customized fastutil jar (which you can put in\nyour repo, local maven repo, etc.) using the `find-deps.sh` shell script.\nIt has mild prerequisites, as only the `jdeps` tool is required (bundled\nwith JDK 8). It can be used to identify all fastutil classes your project\nuses and build a minimized jar only containing the necessary classes.\n\n## Building\n\nFirst, you have to `make sources` to get the actual Java sources.\nAfter that, `ant jar` will generate a single jar file; `ant javadoc` will\ngenerate the API documentation; `ant junit` will run the unit tests.\n\nIf you want to obtain the three jars above, you have to run the script\n`split.sh`, and then `ant osgi-rest`.\n\nThe Java sources are generated using a C preprocessor. The `gencsource.sh`\nscript reads in a driver file, that is, a Java source that uses some\npreprocessor-defined symbols and some conditional compilation, and produces a\n(fake) C source, which includes the driver code and some definitions that\ncustomize the environment.\n\n* seba (\u003cmailto:sebastiano.vigna@unimi.it\u003e)\n* https://groups.google.com/g/fastutil\n","funding_links":[],"categories":["Java"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvigna%2Ffastutil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvigna%2Ffastutil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvigna%2Ffastutil/lists"}