Skip to content

dynapydantic Benchmarks

Legend

  • MC = Model-construction time union realization
  • VT = Validation-time union realization
  • Disc = Discriminated union
  • Smart = Smart union

Class hierarchy creation (median ± IQR)

Mode Subclass Count
5 25 100
Disc MC 0.441 ± 0.048 ms
19.28% ± 2.14%
1.838 ± 0.102 ms
18.55% ± 1.04%
7.239 ± 0.373 ms
18.92% ± 0.98%
Disc VT -51.375 ± 47.025 us
-2.25% ± 2.06%
94.312 ± 100.083 us
0.95% ± 1.01%
0.674 ± 0.317 ms
1.76% ± 0.83%
Disc MC
Injected
1.023 ± 0.055 ms
44.73% ± 2.52%
4.831 ± 0.122 ms
48.75% ± 1.27%
19.018 ± 0.468 ms
49.69% ± 1.25%
Disc VT
Injected
0.548 ± 0.057 ms
23.96% ± 2.51%
2.966 ± 0.142 ms
29.94% ± 1.44%
12.016 ± 0.291 ms
31.40% ± 0.77%
Smart MC 0.272 ± 0.047 ms
12.64% ± 2.17%
1.094 ± 0.098 ms
11.37% ± 1.02%
4.110 ± 0.476 ms
10.88% ± 1.27%
Smart VT 64.292 ± 34.243 us
2.98% ± 1.59%
0.236 ± 0.105 ms
2.46% ± 1.09%
0.765 ± 0.633 ms
2.03% ± 1.68%

Validation overhead per validation (median ± IQR; 10 subclasses)

Mode Python (N=1) Python (N=1000) JSON (N=1) JSON (N=1000)
Disc MC 0.561 ± 0.393 us
10.06% ± 7.05%
0.033 ± 0.053 us
1.61% ± 2.60%
0.417 ± 0.301 us
7.47% ± 5.39%
0.021 ± 0.055 us
1.06% ± 2.79%
Disc VT 0.882 ± 0.012 ms
15801.46% ± 627.69%
8.054 ± 0.102 us
398.84% ± 7.91%
0.885 ± 0.008 ms
15850.21% ± 497.23%
11.486 ± 0.092 us
581.20% ± 12.48%
Smart MC 0.667 ± 1.217 us
4.00% ± 7.30%
0.053 ± 0.187 us
0.47% ± 1.67%
0.458 ± 0.593 us
3.09% ± 4.00%
-0.064 ± 0.079 us
-0.66% ± 0.82%
Smart VT 0.419 ± 0.008 ms
2516.69% ± 122.76%
7.905 ± 0.239 us
70.90% ± 2.32%
0.426 ± 0.006 ms
2873.94% ± 83.54%
11.576 ± 0.214 us
120.26% ± 2.34%