Elektrine lite

← Feed

@danluu@mastodon.social

2026-04-29 07:40 UTC

@shajra I've found libraries/frameworks like that are often counterproductive because the performance isn't there and I get tests per second by writing a custom thing. Never tried Hegel, but it looks like it has a Python backend, so I expect the same issue there. It seems like there's a plan to re-write that to be faster at some point, so I might give it a shot then. I'm using the term fuzzing loosely and probably doing what people call PBT, I guess? I've never paid much attention to the terms.

Replies (2)

  • @danluu@mastodon.social 2026-04-29 07:45

    @shajra I'm open to being told I'm wrong or missing something, but I don't get the value add. I did try a number of these libraries at one point and found them just way too slow. The last thing I fuzzed before this I was getting 1M executions/s per core for the fundamental thing; no way I want Python test gen. For the text editor, maybe I could do it for e2e on the editor, but I'm not sure what the value add is over the simple thing I'm doing that took basically no time.

    Open ##1912172

  • @shajra@functional.cafe 2026-04-29 11:38

    @danluu that is the difference. Fuzzing is just sending in garbage to see that everything is handled. PBT is about checking invariants. So the library is really about having some ergonomics to shape complicated input domains so you can check invariants on (shaped(X), f(shaped(X))). Do this well, and the invariants are the specification for your application. An LLM can discover an implementation, which is not as feasible with just fuzz generation alone.

    Open ##1912175