2011-01-03 40 views
10

Đối với trường đại học, tôi thực hiện các sửa đổi bytecode và phân tích ảnh hưởng của chúng đến hiệu năng của các chương trình Java. Vì vậy, tôi cần các chương trình Java --- trong trường hợp tốt nhất được sử dụng trong sản xuất --- và các tiêu chuẩn thích hợp. Ví dụ, tôi đã có HyperSQL và đo lường hiệu năng của nó bằng chương trình chuẩn PolePosition. Các chương trình Java chạy trên một JVM không có trình biên dịch JIT. Cảm ơn bạn đã giúp đỡ!Các chương trình Java điểm chuẩn

P.S .: Tôi không thể sử dụng các chương trình để đánh giá hiệu suất của JVM hoặc của chính ngôn ngữ Java (chẳng hạn như Công cụ tìm kiếm rộng).

+0

Không rõ bạn muốn làm gì. Bạn có thể giải thích thêm một chút không? – Riduidel

+1

mã byte thường không được tối ưu hóa, thay vào đó JIT sẽ tối ưu hóa mã gốc mà nó tạo ra. Như vậy bạn có thể thấy rằng việc thay đổi mã byte sẽ không cải thiện hiệu suất theo cách bạn có thể mong đợi khi bạn phụ thuộc vào cách nó được chuyển thành mã gốc. –

+0

@ Peter, tôi nghĩ anh ấy đang tìm kiếm các kịch bản mang lại hiệu suất tốt nhất – UVM

Trả lời

0

Bất kỳ lập trình viên có kinh nghiệm nào cũng sẽ cho bạn biết rằng tối ưu hóa sớm là tồi tệ hơn không tối ưu hóa. Đó là một sự lãng phí tài nguyên tốt nhất, và nguồn gốc của các vấn đề tương lai vô tận (và hiện tại) ở mức tồi tệ nhất.

Nếu không có ngữ cảnh, bất kỳ ứng dụng nào, ngay cả với nhật ký điểm chuẩn, sẽ không cho bạn biết gì. Tôi có thể có một vòng lặp trong đó mất 10 giờ để hoàn thành, điểm chuẩn sẽ hiển thị nó gần như mãi mãi, nhưng tôi không quan tâm vì nó không phải là hiệu suất quan trọng. Một vòng lặp khác chỉ mất một phần nghìn giây nhưng điều đó có thể quá dài vì nó khiến tôi không thể nhận được các gói dữ liệu đến đến khoảng 100 micro giây.

Hai thái cực, nhưng cả hai có thể xảy ra (ngay cả trong cùng một ứng dụng), và bạn sẽ không bao giờ biết trừ khi bạn biết ứng dụng đó, cách ứng dụng được sử dụng, trong đó điều kiện và yêu cầu.

Nếu giao diện người dùng mất 1/2 giây để hiển thị giao diện có thể quá dài hoặc không có vấn đề, ngữ cảnh là gì? Kỳ vọng của người dùng là gì?

8

Caliper là công cụ do Google cung cấp để đo điểm chuẩn micro. Nó sẽ cung cấp cho bạn đồ thị và mọi thứ. Những người đặt công cụ này lại với nhau rất quen thuộc với nguyên tắc "Tối ưu hóa sớm là gốc rễ của tất cả các điều ác", (đến điểm của jwnting) và rất cẩn thận trong việc giải thích vai trò của điểm chuẩn.

Các vấn đề liên quan