8000 Perf test by avifenesh · Pull Request #232 · cordx56/rustowl · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Perf test #232

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
wants to merge 9 commits into
base: main
Choose a base branch
from
Open

Perf test #232

wants to merge 9 commits into from

Conversation

avifenesh
Copy link
Collaborator
@avifenesh avifenesh commented Jun 8, 2025

This pull request introduces several changes to improve benchmarking, dependency management, and binary size monitoring in the RustOwl project. The most significant updates include adding Criterion-based benchmarks, simplifying dependency versions, replacing the performance testing script with a new binary size monitoring script, and modifying profiles for enhanced security.

Benchmarking and performance improvements:

  • benches/rustowl_bench_simple.rs: Added new benchmarks using Criterion for testing RustOwl's performance under different configurations, including default, all targets, all features, and comprehensive analysis.

Dependency management:

  • Cargo.toml: Simplified dependency versions by removing patch-level specificity, added criterion as a development dependency, and introduced a new [bench] section for benchmarking.

Binary size monitoring:

  • scripts/size-check.sh: Introduced a new script for monitoring binary sizes, allowing developers to check, baseline, compare, and clean binary size metrics with configurable thresholds.

Profile adjustments:

  • Cargo.toml: Changed the inherits property in the [profile.security] section from dev to release to align security settings with optimized builds.

Documentation updates:

  • docs/perf-tests.md: Removed the outdated performance testing script documentation, as the functionality has been replaced by the new binary size monitoring script.

@avifenesh
Copy link
Collaborator Author

@MuntasirSZN nice and better to have

@MuntasirSZN
Copy link
Collaborator

Wait a minute, @avifenesh criterion should not run in ci.

@MuntasirSZN
Copy link
Collaborator

@avifenesh
Copy link
Collaborator Author

@MuntasirSZN i dont see where it says no?

@MuntasirSZN
Copy link
Collaborator

The first line.

You probably shouldn't (or, if you do, don't rely on the results).

@avifenesh
Copy link
Collaborator Author

The first line.

You probably shouldn't (or, if you do, don't rely on the results).

ahh bummer, i see. ok so its will be just a script

@MuntasirSZN
Copy link
Collaborator

The first line.

You probably shouldn't (or, if you do, don't rely on the results).

ahh bummer, i see. ok so its will be just a script

You can use lai-callgrind... 😀

@avifenesh
Copy link
Collaborator Author

@MuntasirSZN I can but its a little complex to use the results. you probably better run locally before and after and provide the results.

@avifenesh
Copy link
Collaborator Author

@MuntasirSZN Sadly removed...

@MuntasirSZN
Copy link
Collaborator

@MuntasirSZN I can but its a little complex to use the results. you probably better run locally before and after and provide the results.

I like complexity.

@avifenesh
Copy link
Collaborator Author
avifenesh commented Jun 8, 2025

@MuntasirSZN The security need nice amount of fixes for windows so ill break it to two again
CI might fail until the fixes in the other pr fixed.

@avifenesh avifenesh force-pushed the perf-test branch 2 times, most recently from b1534f9 to b800367 Compare June 9, 2025 13:40
avifenesh and others added 2 commits June 23, 2025 08:34
- Introduced `bench.sh` for local performance benchmarking of RustOwl using Criterion.
  - Supports saving and loading baselines, regression detection, and custom test packages.
  - Provides detailed output and HTML report generation.

- Added `size-check.sh` for monitoring RustOwl binary sizes.
  - Implements commands for checking current sizes, creating/updating baselines, and comparing against them.
  - Warns if binary sizes exceed a specified threshold.

Signed-off-by: avifenesh <aviarchi1994@gmail.com>
Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.1.1 to 1.1.2.
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Commits](rust-lang/flate2-rs@1.1.1...1.1.2)

---
updated-dependencies:
- dependency-name: flate2
  dependency-version: 1.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@avifenesh avifenesh requested a review from Copilot June 26, 2025 15:46
Copilot

This comment was marked as resolved.

Copilot AI and others added 2 commits June 26, 2025 16:15
Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>
…5f6-a1b2910621de

Fix trailing whitespace in benches/rustowl_bench_simple.rs
@avifenesh
Copy link
Collaborator Author

@MuntasirSZN @cordx56 please review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants
0