2012-07-16 12 views

Trả lời

4

Trừ khi có một số chú thích mới thoát khỏi tôi, không.

Mặt khác, không rõ tính năng hữu ích khủng khiếp như thế nào. Hãy nhớ rằng, không giống như một ngôn ngữ như C/C++, "dự đoán" ở cấp mã nguồn không nhất thiết phải là chiến lược tốt nhất bởi vì mã thực sự đang thực hiện trong thực tế vì nó đang chạy không phải là một bí ẩn: JVM có khả năng theo dõi hành vi quan trọng và nếu cần thiết biên dịch lại các phần mã theo các phép đo của nó.

+1

Để củng cố câu trả lời của Neil: hầu hết các JVM hiện đại nhất chắc chắn giám sát các hành vi của nhánh và cố gắng để các nhánh thiết lập đúng cách cho các CPU để dự đoán dễ dàng hơn. –

1

Không, jvm không có gợi ý trình biên dịch hoặc tối ưu hóa ở cấp nguồn.

+3

Tôi đồng ý về những gợi ý, vì họ sẽ phải bằng ngôn ngữ nguồn, và họ thì không. Tuy nhiên, HotSpot JVM là một trình tối ưu hóa lớn và nó hoạt động theo các thống kê được thu thập về hành vi thực hiện, vì vậy tôi không biết làm thế nào bạn có thể thuyết phục như vậy để nói rằng không có tối ưu hóa như vậy. Mặt khác, câu hỏi được hình thành không chính xác. Đó là CPU * có dự đoán nhánh: tất cả trình biên dịch có thể làm là đặt mã như vậy là nó hoạt động tốt nhất với CPU. – EJP

+1

@EJP - tất nhiên tôi đã không đề cập đến những gì đã xảy ra bên trong jvm, tôi có nghĩa là ở cấp nguồn. – jtahlborn

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