Comments (3)
just to answer a concrete question....example()
in your case is slow because it is generating and caching 100 examples ahead of time, not just one:
from hypothesis.
@given()
is the only way to draw data from strategies - the .example()
method just wraps that up for you internally! Supporting meaningfully different interfaces just isn't technically feasible with our limited volunteer time ๐
For determinism and number of examples, you'll want to use @settings(max_examples=..., derandomize=True)
.
It's slower than plain random.randint()
because we're doing much more under the hood which is useful in testing. If your data is simple that's probably a poor tradeoff; if it's complex then the convenient API probably wins out and the performance gap will be smaller.
Finally, I'll note that Hypothesis' data is draw from a really weird distribution, full of edge cases and weird correlations. That's great for finding bugs, but may or may not be what you want here - if not, I've heard good things about the mimesis
library for non-testing usecases (but not used it myself). I hope that helps!
from hypothesis.
Thanks for such a quick response, this helps!
from hypothesis.
Related Issues (20)
- Use `sys.monitoring` (PEP-669) for reduced overhead in the `explain` phase on Python 3.12+
- Allow exact values in `st.builds()` arguments HOT 2
- Add examples in batch HOT 1
- How to use Hypothesis with function scoped fixtures? HOT 1
- Use `trace_branch` monitoring for Scrutineer HOT 1
- Question: specifying conditional assumption during generation with chaining multiple strategies HOT 1
- Untyped decorator makes function untyped for strategies.composite decorator HOT 2
- `builds` fails when used with `attrs` classes containing private attributes HOT 1
- Add a way to reset or remove from a bundle by rule HOT 1
- [email protected]: `AttributeError: 'list' object has no attribute 'result'` HOT 2
- Filter-rewriting 2: rewrite harder
- `hypothesis[django]`: CharField causes strange assertion issue HOT 3
- `from_type` on `typing.Protocol` without methods HOT 1
- Hypothesis 6.91.0 makes pytest crashing HOT 2
- Add `alphabet=` argument to `from_lark()` strategy
- Warn if strategies depend on the `random` module without using `st.random_module()` HOT 3
- how to filter invalid result from the target efficiently? HOT 5
- `TypeError` when drawing from a strategy that produces `dataclasses` with a `defaultdict` attribute HOT 2
- how to make hypothesis stateful test to run enough steps in one example๏ผ HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hypothesis.