Benchmarks#1
Open
ahankinson wants to merge 30 commits into
Open
Conversation
Delivers significant performance improvements by caching previously computed results.
# Conflicts: # edtf/fields.py # edtf/jdutil.py # edtf/natlang/en.py # edtf/natlang/tests.py # edtf/parser/grammar.py # edtf/parser/parser_classes.py # edtf/parser/tests.py # pyproject.toml # setup.py
Coverage Report
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Coverage Report
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Coverage Report
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Coverage Report
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Benchmark
Details
| Benchmark suite | Current: e51b710 | Previous: 9c8b9d1 | Ratio |
|---|---|---|---|
edtf/natlang/tests.py::test_benchmark_natlang[23rd Dynasty-None] |
79774.78988429862 iter/sec (stddev: 0.0000013851475412639628) |
69395.16051320166 iter/sec (stddev: 0.0000014134208586771668) |
0.87 |
edtf/natlang/tests.py::test_benchmark_natlang[January 2008-2008-01] |
8693.486510978464 iter/sec (stddev: 0.000007045910065364571) |
9088.898365905337 iter/sec (stddev: 0.000007311883502245592) |
1.05 |
edtf/natlang/tests.py::test_benchmark_natlang[ca1860-1860~] |
9983.045923300922 iter/sec (stddev: 0.000015328751671507914) |
10536.427206286704 iter/sec (stddev: 0.00000869656370176594) |
1.06 |
edtf/natlang/tests.py::test_benchmark_natlang[uncertain: approx 1862-1862%] |
6872.14135523073 iter/sec (stddev: 0.000012852741756004871) |
7365.67296423216 iter/sec (stddev: 0.00002074857349662771) |
1.07 |
edtf/natlang/tests.py::test_benchmark_natlang[January-XXXX-01] |
12339.657989936466 iter/sec (stddev: 0.000011372673120117634) |
12700.417163332606 iter/sec (stddev: 0.000007763450142110117) |
1.03 |
edtf/natlang/tests.py::test_benchmark_natlang[Winter 1872-1872-24] |
8949.988675830158 iter/sec (stddev: 0.00000836165969321353) |
9345.322155253703 iter/sec (stddev: 0.000007167413838326226) |
1.04 |
edtf/natlang/tests.py::test_benchmark_natlang[before approx January 18 1928-/1928-01-18~] |
5668.533389836924 iter/sec (stddev: 0.000008642414002715004) |
6349.081304884251 iter/sec (stddev: 0.000007919444895876892) |
1.12 |
edtf/natlang/tests.py::test_benchmark_natlang[birthday in 1872-1872] |
7698.968847931701 iter/sec (stddev: 0.000007401444217798162) |
8214.368685040796 iter/sec (stddev: 0.000008573670469639895) |
1.07 |
edtf/natlang/tests.py::test_benchmark_natlang[1270 CE-1270] |
51053.133185402374 iter/sec (stddev: 0.0000019437750152946256) |
49362.28779807187 iter/sec (stddev: 0.0000019122244933026575) |
0.97 |
edtf/natlang/tests.py::test_benchmark_natlang[2nd century bce--01XX] |
43713.026251760755 iter/sec (stddev: 0.000005392602672138514) |
44185.240547052534 iter/sec (stddev: 0.0000022142127356187115) |
1.01 |
edtf/natlang/tests.py::test_benchmark_natlang[1858/1860-[1858, 1860]] |
24073.182416261698 iter/sec (stddev: 0.000005684398898243732) |
23979.65299039596 iter/sec (stddev: 0.0000040605725892386356) |
1.00 |
edtf/parser/tests.py::test_benchmark_parser[2001-02-03] |
155.9847905158386 iter/sec (stddev: 0.0005197506881682327) |
171.25933379034885 iter/sec (stddev: 0.0005642796665579916) |
1.10 |
edtf/parser/tests.py::test_benchmark_parser[2008-12] |
160.61296407191173 iter/sec (stddev: 0.0018977920428319786) |
178.5973848092607 iter/sec (stddev: 0.0017893617138103517) |
1.11 |
edtf/parser/tests.py::test_benchmark_parser[2008] |
187.39587470124084 iter/sec (stddev: 0.0018727716632371935) |
213.0306562782692 iter/sec (stddev: 0.0016894167662234768) |
1.14 |
edtf/parser/tests.py::test_benchmark_parser[-0999] |
189.62918431531878 iter/sec (stddev: 0.0013419752191771868) |
202.05228748512303 iter/sec (stddev: 0.0017732594554404776) |
1.07 |
edtf/parser/tests.py::test_benchmark_parser[2004-01-01T10:10:10+05:00] |
139.123157811028 iter/sec (stddev: 0.001566720718062073) |
148.4315261832691 iter/sec (stddev: 0.001892578075829402) |
1.07 |
edtf/parser/tests.py::test_benchmark_parser[-2005/-1999-02] |
116.94232537013389 iter/sec (stddev: 0.0021418671525518327) |
115.65213919850822 iter/sec (stddev: 0.002412451468116546) |
0.99 |
edtf/parser/tests.py::test_benchmark_parser[/2006] |
318.0381166639062 iter/sec (stddev: 0.00024746715416329185) |
258.00818152404844 iter/sec (stddev: 0.00013313305384168237) |
0.81 |
edtf/parser/tests.py::test_benchmark_parser[?2004-%06] |
217.64511917771023 iter/sec (stddev: 0.0010189879505672602) |
228.25501945682055 iter/sec (stddev: 0.0010930767941194192) |
1.05 |
edtf/parser/tests.py::test_benchmark_parser[[1667, 1760-12]] |
31.535766305630972 iter/sec (stddev: 0.0007417768608200883) |
18.824519597814877 iter/sec (stddev: 0.0016492490641144262) |
0.60 |
edtf/parser/tests.py::test_benchmark_parser[Y3388E2S3] |
434.4870756243414 iter/sec (stddev: 0.0008426676499363713) |
426.78911300861057 iter/sec (stddev: 0.0008141247414062612) |
0.98 |
edtf/parser/tests.py::test_benchmark_parser[2001-29] |
118.27633865812172 iter/sec (stddev: 0.0015456503451241872) |
122.45030941218971 iter/sec (stddev: 0.0017190321261276724) |
1.04 |
This comment was automatically generated by workflow using github-action-benchmark.
Also added Andrew Hankinson to the authors list in pyproject.toml
I've had a pass at the Parser Classes file, but there are a lot of problems still to be sorted out. I've added return types and argument types whereever it makes sense. The "UncertainOrApproximate" class is a hot mess. There are boolean values with property and method calls associated with them, and I would be surprised if it actually works. However, it doesn't seem to be tested or implemented, so I can't figure out where to go from here.
This wasn't actually used anywhere! Also removed a redundant regex group
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 2.
| Benchmark suite | Current: 9c8b9d1 | Previous: 51255e3 | Ratio |
|---|---|---|---|
edtf/natlang/tests.py::test_benchmark_natlang[23rd Dynasty-None] |
69395.16051320166 iter/sec (stddev: 0.0000014134208586771668) |
3541928.773400012 iter/sec (stddev: 9.68032736021079e-8) |
51.04 |
edtf/natlang/tests.py::test_benchmark_natlang[January 2008-2008-01] |
9088.898365905337 iter/sec (stddev: 0.000007311883502245592) |
3430974.3814481827 iter/sec (stddev: 1.5442413250947235e-7) |
377.49 |
edtf/natlang/tests.py::test_benchmark_natlang[ca1860-1860~] |
10536.427206286704 iter/sec (stddev: 0.00000869656370176594) |
3089178.178035518 iter/sec (stddev: 5.4601010287957946e-8) |
293.19 |
edtf/natlang/tests.py::test_benchmark_natlang[uncertain: approx 1862-1862%] |
7365.67296423216 iter/sec (stddev: 0.00002074857349662771) |
3229125.91377079 iter/sec (stddev: 3.2379216557299555e-8) |
438.40 |
edtf/natlang/tests.py::test_benchmark_natlang[January-XXXX-01] |
12700.417163332606 iter/sec (stddev: 0.000007763450142110117) |
3368121.1215553223 iter/sec (stddev: 3.972937351691444e-8) |
265.20 |
edtf/natlang/tests.py::test_benchmark_natlang[Winter 1872-1872-24] |
9345.322155253703 iter/sec (stddev: 0.000007167413838326226) |
3533042.5170700424 iter/sec (stddev: 4.6347118400829334e-8) |
378.05 |
edtf/natlang/tests.py::test_benchmark_natlang[before approx January 18 1928-/1928-01-18~] |
6349.081304884251 iter/sec (stddev: 0.000007919444895876892) |
3384197.38576659 iter/sec (stddev: 2.493774769118655e-7) |
533.02 |
edtf/natlang/tests.py::test_benchmark_natlang[birthday in 1872-1872] |
8214.368685040796 iter/sec (stddev: 0.000008573670469639895) |
3496595.4966845135 iter/sec (stddev: 5.306616696800164e-8) |
425.67 |
edtf/natlang/tests.py::test_benchmark_natlang[1270 CE-1270] |
49362.28779807187 iter/sec (stddev: 0.0000019122244933026575) |
3514650.9138252772 iter/sec (stddev: 1.3841494592800146e-7) |
71.20 |
edtf/natlang/tests.py::test_benchmark_natlang[2nd century bce--01XX] |
44185.240547052534 iter/sec (stddev: 0.0000022142127356187115) |
3514928.7751975628 iter/sec (stddev: 1.944995132887494e-7) |
79.55 |
edtf/natlang/tests.py::test_benchmark_natlang[1858/1860-[1858, 1860]] |
23979.65299039596 iter/sec (stddev: 0.0000040605725892386356) |
3485516.3747026883 iter/sec (stddev: 7.215368108788735e-8) |
145.35 |
This comment was automatically generated by workflow using github-action-benchmark.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.