Performance of referencing library vs deprecated jsonschema.RefResolver is very bad when there are a lot of references in schema
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 52/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- python
- Lĩnh vực
- performance
Hướng nghiên cứu
Tái hiện trường hợp xác thực đã được báo cáo bằng cách sử dụng dữ liệu kiểm thử và schema plate-reader được liên kết, đồng thời so sánh jsonschema 4.17.0 với 4.18.0. Bắt đầu với tests/parsers/moldev_softmax_pro và thời gian chạy 26 bài kiểm thử của nó, sau đó lần theo đường dẫn tham chiếu và xác thực để xác định hồi quy. Hoàn thành khi đã cô lập được nguyên nhân và schema có các tham chiếu lớn không còn cho thấy tình trạng chậm như đã báo cáo.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Hello!
I have a library that formats scientific data into a JSON schema called the Allotrope Standard Model (ASM)
The validation schemas are fairly large and complicated compared to other schemas I've seen in discussion boards, and are very modular, meaning there are a lot of references. In allotropy we store the ASM schemas directly, and remove all remote references, replacing them with local references under $defs.
We are finding that validating against the schemas using jsonschema version 4.18.0 takes ~20x longer than 4.17.0.
As a concrete example:
Validating this data: https://raw.githubusercontent.com/Benchling-Open-Source/allotropy/refs/heads/main/tests/parsers/moldev_softmax_pro/testdata/MD_SMP_luminescence_endpoint_example08.json
Against this schema: https://github.com/Benchling-Open-Source/allotropy/blob/main/src/allotropy/allotrope/schemas/adm/plate-reader/REC/2024/06/plate-reader.schema.json
takes ~3.5s on 4.17.0 and ~55s on 4.18.0
This translates to a runtime for all 26 tests in tests/parsers/moldev_softmax_pro of ~30s in 4.17.0 to ~6m in 4.18.0
- Ngôn ngữ chính
- Python
- Star
- 53
- Fork
- 27
- Merge trung bình
- 1 ngày 8 giờ
- Pull request đã merge (30 ngày)
- 8
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của python-jsonschema/referencing
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
python-jsonschema/referencing#366 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
python-jsonschema/referencing#257 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
python-jsonschema/referencing#226 · 1 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
python-jsonschema/referencing#160 · 3 bình luận · 2 reaction ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
python-jsonschema/referencing#119 · 4 bình luận ·
Tất cả issue của python-jsonschema/referencing
Issue tương tự
-
agent-ready documentation needs-triage
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 88/100
-
documentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 91/100
-
workflow-status page template still says reusable workflows are "triggered only by workflow_call:" Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
-
Add https://search.jeremyh.xyz/ Đang mởinstance instance add
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
searxng/searx-instances#939 · 1 bình luận ·
-
area-deployment area-integrations triage:bot-seen
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 86/100