Improve performance by removing SHA
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
- 35/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python
- Lĩnh vực
- performance
Hướng nghiên cứu
Bắt đầu trong markdown2.py bằng cách đọc _hash_html_block_sub và _hash_text, rồi theo dõi cách các key do chúng tạo ra bảo vệ và khôi phục nội dung trong quá trình chuyển đổi. Profile chi phí hashing hiện tại, sau đó xác minh rằng mọi thay thế đều giữ nguyên hành vi chuyển đổi, tránh xung đột key và cải thiện hiệu năng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The performance could be faster.
When I profile my blog build, about 60% of the time spent in markdown2.py is spent running SHA hashes.
Could you explain the logic of _hash_html_block_sub and _hash_text generally? Why are we even running SHA inside a markdown converter?
It looks like... this is some some of escape mechanism, maybe? Like we generate a key, replace the HTML with the key (so it doesn't look like HTML to some other stage of the parser that should ignore it), do some processing on the outer HTML, and finally replace all the keys with the original HTML?
That could be served just as well by generating a random string rather than a hash, if so?
Ex.
def _hash_text(s: str) -> str:
'md5-' + sha256(SECRET_SALT + s.encode("utf-8")).hexdigest()[32:]
could be replaced by the much faster
hex_digits = "0123456789abcdef"
def _hash_text(s: str) -> str:
'md5-' + ''.join(random.choice(hex_digits) for _ in range(32))
for a quick fix.
(Estimate says this will make markdown conversion 2.5X faster)
- Ngôn ngữ chính
- Python
- Star
- 2.8k
- Fork
- 459
- Merge trung bình
- 2 ngày 19 giờ
- Pull request đã merge (30 ngày)
- 4
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 trentm/python-markdown2
-
Add py.typed marker Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
trentm/python-markdown2#696 ·
-
More XSS's in safe mode Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
trentm/python-markdown2#726 ·
-
Bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
trentm/python-markdown2#707 ·
-
Bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 58/100
trentm/python-markdown2#688 · 4 bình luận ·
-
Bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 58/100
trentm/python-markdown2#679 · 2 bình luận ·
Tất cả issue của trentm/python-markdown2
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