https://github.com/Homunculus84/Binder
Binary search on steroids for GameMaker Studio 2.3
https://github.com/Homunculus84/Binder
Last synced: about 2 months ago
JSON representation
Binary search on steroids for GameMaker Studio 2.3
- Host: GitHub
- URL: https://github.com/Homunculus84/Binder
- Owner: Homunculus84
- License: mit
- Created: 2025-06-05T06:09:37.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-06-19T10:21:13.000Z (4 months ago)
- Last Synced: 2025-06-19T10:45:32.452Z (4 months ago)
- Language: Game Maker Language
- Size: 2.94 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-gamemaker - Binder - A binary search library for efficient lookups on large datasets. (Data Manipulation / Recommendations)
README
# Binder
> Binary search on steroids for Game Maker Studio 2.3
Binder is a binary search library for those who need quick, efficient lookups on large datasets in games where lookup performance matters, and linear searches or simple hashmaps just won’t cut it.
## Features
- **Indexing** – Generate multiple ordered indexes of your data without duplicating or modifying it.
- **Multiple results** – Quickly retrieve all matching values from a single search, not just individual hits.
- **Mergeable results** – Easily combine the results of multiple lookups using union and intersection.
- **Automatic sorting** – Binder handles sorting internally so you can focus on searching, not maintaining order.
- **Performant** – Binary search scales with your data, providing fast lookups on any size.
- **Non-intrusive** – Doesn't alter your original dataset.## Who is this for?
Binder is ideal for:
- Dealing with large datasets that need to be searched through quickly.
- Performing many repeated searches over the same, static, dataset.
- Searching through the same data in multiple ways.It may not be for you if:
- Your data is dynamic / changes frequently.
- You need to perform lookups based on a single criteria (consider a struct in this case).
- Your lookup relies on a condition that can not be solved by a binary search, like full text search.If you are just looking for a general purpose binary search script, [here you can find](https://github.com/Homunculus84/Binder/blob/main/scripts/binary_search/binary_search.gml) a generalized version of the one used in this library.
## How to use
See the [Wiki](https://github.com/homunculus84/binder/wiki) for installation, usage examples, and API details.