forked from floor-licker/polyfill-rs
-
Notifications
You must be signed in to change notification settings - Fork 1
Sync with upstream floor-licker/polyfill-rs (32 commits) #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Canvinus
wants to merge
32
commits into
main
Choose a base branch
from
upstream-main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
32 commits
Select commit
Hold shift + click to select a range
64205ee
chore(cargo): fix manifest and dev dep
floor-licker e28e1af
fix(auth): only fallback derive on API errors
floor-licker 703bd9f
feat(book): align /book response fields
floor-licker a7ca8e4
feat(ws): align auth and event_type parsing
floor-licker da51caa
chore(cargo): use crates.io polymarket-rs-client
floor-licker 41db8ca
chore(fmt): cargo fmt
floor-licker cc419ac
chore(rustfmt): keep config stable-compatible
floor-licker dea5016
test(no-alloc): guard hot paths against heap allocs
floor-licker 9594058
feat(book): apply websocket book updates
floor-licker 75ce261
perf(ws): avoid cloning batch stream messages
floor-licker a0bf317
refactor(ws): replace unbounded channel with bounded queue
floor-licker 0e71182
feat(book): apply ws book updates via OrderBookManager
floor-licker 7145f74
docs: update README.md
floor-licker c1b7633
chore(security): update lockfile for RustSec advisories
floor-licker 3b0765f
ci: run no-alloc hot-path tests as separate job
floor-licker 9fa4174
docs: update README.md
floor-licker b523a7f
docs: update README.md
floor-licker e0b97c5
feat(ws): add tape-based book update processor
floor-licker d45b202
feat(ws): add book-applier stream
floor-licker 31062b3
docs: align testing guide with CI
floor-licker 2570aa0
docs: clarify integration test env vars
floor-licker 0f577f0
fix(api): improve order endpoint compatibility
floor-licker 2dc3c06
test: make real-api smoke tests robust
floor-licker 1e1ef74
test(ws): add ignored real-market websocket smoke test
floor-licker d4e2407
test(ws): add user channel and stability checks
floor-licker 65bab0d
docs: update README.md
floor-licker 40b503e
bench(ws): add WS hot-path Criterion benchmark
floor-licker f5a807c
bench(ws): add serde baseline comparison
floor-licker 25f2689
docs(readme): mention WS hot-path benchmark
floor-licker 9f86e24
docs(readme): add ws_hot_path benchmark command
floor-licker 3dfb65e
feat(api): add /prices-history helper methods
floor-licker 0b2740a
test(api): add /prices-history real API integration test
floor-licker File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -6,6 +6,14 @@ | |||||
|
|
||||||
| A high-performance drop-in replacement for `polymarket-rs-client` with latency-optimized data structures and zero-allocation hot paths. A 100% API-compatible drop-in replacement for `polymarket-rs-client` with identical method signatures. | ||||||
|
|
||||||
| At the time that this project was started, `polymarket-rs-client` was a Polymarket Rust Client with a few GitHub stars, but which seemed to be unmaintained. I took on the task of creating a Rust client which could beat the benchmarks quoted in the README.md of that project, with the added constraint of also maintaining zero alloc hot paths. | ||||||
|
|
||||||
| I also want to take a moment to clarify what zero-alloc means because I've now recieved double digit messages about this on twitter/x and telegram. In general, zero alloc means either zero alloc in hot paths (which can be a bit more arbitrary) or atlernatively it can mean zero alloc after init/warm-up, which is the objective of this repository. Succinctly that means that **the per-message handling loop never touches the heap**. | ||||||
|
||||||
| I also want to take a moment to clarify what zero-alloc means because I've now recieved double digit messages about this on twitter/x and telegram. In general, zero alloc means either zero alloc in hot paths (which can be a bit more arbitrary) or atlernatively it can mean zero alloc after init/warm-up, which is the objective of this repository. Succinctly that means that **the per-message handling loop never touches the heap**. | |
| I also want to take a moment to clarify what zero-alloc means because I've now recieved double digit messages about this on twitter/x and telegram. In general, zero alloc means either zero alloc in hot paths (which can be a bit more arbitrary) or alternatively it can mean zero alloc after init/warm-up, which is the objective of this repository. Succinctly that means that **the per-message handling loop never touches the heap**. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Spelling: "recieved" -> "received".