Skip to content
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

Implement persistent mode + use panic::set_hook() + many more #137

Merged
merged 11 commits into from
May 13, 2018

Conversation

PaulGrandperrin
Copy link
Member

@PaulGrandperrin PaulGrandperrin commented Apr 27, 2018

See the commits for more details

Performance goes from ~2400/s to ~19500/s on url_read target on i7-7700HQ.

Performance goes from ~2200/s to 17000/s on my i7-7700HQ
while fuzzing the `url_read` target.

closes rust-fuzz#131
partially addresses rust-fuzz#31
It doesn't change much performance but why not
@PaulGrandperrin PaulGrandperrin changed the title Implement persistent mode + use panic::set_hook() Implement persistent mode + use panic::set_hook() + many more Apr 27, 2018
@PaulGrandperrin
Copy link
Member Author

This is a lot of changes at once.
I just felt motivated to continue committing new things and they are mostly sequentially dependant so I pushed them there but if you want, we can split that into many PRs.

Copy link
Member

@frewsxcv frewsxcv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing work, thanks so much @PaulGrandperrin 🙇

So sorry it took almost two weeks to get a review for this!

src/lib.rs Outdated
/// ```rust,ignore
/// # extern crate afl;
/// # use afl::fuzz;
/// # fn main() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm fine as-is, but considering users are going to need the main function, I wouldn't be opposed to showing it for these examples.

src/lib.rs Outdated
///
/// This slice contains a "random" quantity of "random" data.
///
/// ```rust,ignore
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of rust,ignore, this can be rust,no_run to ensure it compiles, but won't attempt to run which is what we want

https://doc.rust-lang.org/book/first-edition/documentation.html#running-documentation-tests

@frewsxcv
Copy link
Member

bors r+

bors bot added a commit that referenced this pull request May 13, 2018
137:  Implement persistent mode + use panic::set_hook() + many more r=frewsxcv a=PaulGrandperrin

See the commits for more details

Performance goes from ~2400/s to ~19500/s on `url_read` target on i7-7700HQ.

Co-authored-by: Paul Grandperrin <paul.grandperrin@gmail.com>
Co-authored-by: Corey Farwell <coreyf@rwell.org>
@bors
Copy link
Contributor

bors bot commented May 13, 2018

Build succeeded

@PaulGrandperrin
Copy link
Member Author

Awesome! I'll also release a new version of honggfuzz-rs to exactly match this new API.
The only difference right now is that in honggfuzz-rs the user needs to explicitly write the infinite loop but I'll change that.

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.

None yet

2 participants