Reduce the performance gap for repeated string eval
Maintainer thường phản hồi trong vòng 1 ngày
Một pull request liên quan đã được merge.
- #1931 của @fglock — đã merge
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Lĩnh vực
- backend, performance
Hướng nghiên cứu
Start with dev/bench/benchmark_eval_string.pl and compare its runs under ./jperl and system perl; record matching runtime and environment details. Then trace PerlOnJava’s repeated string-eval execution path, which the issue does not locate. Done means reducing the measured gap while preserving Perl behavior and keeping the comparison reproducible.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
Reduce the performance gap between PerlOnJava and system Perl for repeated string eval.
Reproduction
Run the same benchmark on each runtime:
./jperl dev/bench/benchmark_eval_string.pl
perl dev/bench/benchmark_eval_string.pl
Observed results (1,000,000 iterations):
| Runtime | Wall clock | CPU | Throughput |
|---|---|---|---|
PerlOnJava (jperl) |
63 s | 45.85 s | 21,811/s |
| Perl | 5 s | 3.84 s | 260,417/s |
PerlOnJava is about 12x slower for this workload.
Goal
Investigate the repeated string-eval path and reduce the performance difference while preserving Perl behavior. Keep the benchmark reproducible and compare both runtimes under matched conditions.
Java version, OS, Perl version, and PerlOnJava commit were not recorded with this run.
- Ngôn ngữ chính
- Perl
- Star
- 65
- Fork
- 8
- Merge trung bình
- 6 giờ 33 phút
- Pull request đã merge (30 ngày)
- 178
Chuẩn bị môi trường
- Có Dockerfile hoặc 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 fglock/PerlOnJava
-
area:runtime documentation enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
fglock/PerlOnJava#1579 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Preserve scalar slots assigned through localized glob aliasesCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởarea:runtime bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
fglock/PerlOnJava#1939 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
fglock/PerlOnJava#1885 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area:performance enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
fglock/PerlOnJava#1863 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area:memory area:performance area:runtime bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
fglock/PerlOnJava#1860 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của fglock/PerlOnJava
Issue tương tự
-
easy first-contributor first-contributors good first issue help wanted perl shell up-for-grabs
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
fork-commit-merge/fork-commit-merge#8461 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 1 ngày
-
1.severity: security
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
gugod/App-perlbrew#880 · 2 bình luận ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
beyondgrep/ack3#413 · 1 bình luận ·