Performance regression on crypto `createPublicKey` and `createPrivateKey` APIs after node v17
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
- Lỗi
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- javascript, node.js
- Lĩnh vực
- performance
Hướng nghiên cứu
Bắt đầu với verify.js quanh các dòng 122-125 và xem xét issue Node.js được liên kết về hiệu năng của createPublicKey và createPrivateKey. Tái hiện workload của profiler-server trên Node v16 và v18, sau đó xác định liệu việc giảm các lệnh gọi này có an toàn hay không. Công việc được coi là hoàn tất khi có bằng chứng cho thấy regression đã được giảm mà không thay đổi hành vi xác minh JWT.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Hi, we use this package for our profiler-server repository. After upgrading the node version from v16 to v18, we observed ~30% performance regression. And after some investigation we realized that it's because of the createPublicKey and createPrivateKey calls that happen here:
https://github.com/auth0/node-jsonwebtoken/blob/bc28861f1fa981ed9c009e29c044a19760a0b128/verify.js#L122-L125
I also filed an issue on nodejs for the regression on those APIs. For more context, please see it here: https://github.com/nodejs/node/issues/50386
I was wondering if we can reduce the calls to these APIs in this repository with some caching mechanism maybe? I'm not sure as I'm not familiar with the code here. Wanted to ask to see if you have any ideas, thanks!
Version of this library used: 9.0.2
- Ngôn ngữ chính
- JavaScript
- Star
- 18.2k
- Fork
- 1.3k
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
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 auth0/node-jsonwebtoken
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
auth0/node-jsonwebtoken#1042 · 1 bình luận ·
-
`jwt.sign()` callback is executed twice for "The payload already has an "..." property" errorsCó thể đã có người làm @cobyfrombrooklyn-bot đã nhận 229 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
auth0/node-jsonwebtoken#1000 · 2 bình luận · 1 reaction ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
auth0/node-jsonwebtoken#1048 ·
-
verify() resolves a string secret by attempting createPublicKey() first, costing 4x-52x on the HS* pathCó thể đã có người làm @Hashim1999164 đã nhận 24 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 65/100
auth0/node-jsonwebtoken#1046 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 10/100
auth0/node-jsonwebtoken#1034 ·
Tất cả issue của auth0/node-jsonwebtoken
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
enhancement
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 85/100
holepunchto/hrpc-test#28 ·
-
good first issue
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 88/100
anoopcodehack/DevBoard#616 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
idnits3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 63/100
ietf-tools/idnits#319 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 76/100
521xueweihan/HelloGitHub#3939 ·