Tôi cần thực hiện một số thử nghiệm cho thấy ảnh hưởng của nội tuyến trên mã của tôi. Bất cứ ai biết làm thế nào để vô hiệu hóa nội tuyến với jvm mặt trời? Tôi đã tìm kiếm http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html và phải biết -XX: InlineSmallCode = n có thể kiểm soát ngưỡng của các ứng cử viên nội tuyến. Vì vậy, sẽ -xx: InlineSmallCode = 0 làm việc?làm thế nào để vô hiệu hóa tối ưu hóa nội tuyến với jvm mặt trời?
6
A
Trả lời
5
Tôi sẽ thử dùng -XX:MaxInlineSize=0
. Mô tả cho InlineSmallCode
có vẻ hơi không rõ ràng về việc liệu nó có áp dụng cho tất cả nội tuyến hay không. Bạn cũng có thể tìm thấy bài viết trên blog này có hữu ích vì nó giải thích làm thế nào để nói với trình biên dịch JIT để in thông tin về những phương pháp đang được inlined:
Java 7: How to write really fast Java code
Tôi nghĩ rằng có thể vẫn là một ngoại lệ mà bạn không thể vô hiệu hóa inlining, và đó là cho các phương thức hoàn toàn trống (vì kích thước phương thức nội tuyến vẫn là 0).
Lưu ý rằng có thể không thể vô hiệu hóa nội tuyến cho các getters đơn giản và tương tự. –