Repository navigation
Add reproducible native core performance benchmarks - #131
Merged
Merged
Conversation
This was referenced Oct 27, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Pull request stack
GitHub stack #135.
Merge order: #131 → #132 → #133.
Base:
main. Each PR contains only its own change relative to its parent. After merging lower layers, usegh stack syncto update local tracking and restack the remaining branches.Changes
Add reproducible host benchmarks to compare Go-side source-validation costs with validation disabled, standard caching and advanced per-datagram checks. Cover UDP Read/ReadFrom across payload sizes, cache expiry, TCP/UDP admission and IPv4/IPv6 packet filtering; retain the existing SOCKS5 allocation benchmark in the default suite.
bundle exec fastlane android native_benchmarkssaves ten samples per scenario, allocation metrics, ownership-query counts, exact arguments and environment/revision metadata. Options select workloads, sample duration/count, GOMAXPROCS and output directory. Optional CPU/allocation profiles retain the matching binary for pprof. Reusing an output directory clears previous benchmark/profile artifacts; an unmatched filter fails explicitly.English/Russian documentation includes benchstat mode/revision comparisons and pprof commands. Benchmarks use local in-memory fixtures and do not contact public services or need credentials. The validator responds immediately: Android JNI/Binder/socket-owner lookup, actual VPN bandwidth and concurrent saturation are outside these measurements. Production networking code is unchanged; required CI does not gain timing thresholds.
Validation