thể trùng lặp:
JIT compiler vs offline compilerskhi nào java nhanh hơn C++ (hoặc khi nào JIT nhanh hơn được biên dịch trước)?
Tôi đã nghe nói rằng trong những trường hợp nhất định, các chương trình Java hay đúng hơn là một phần của chương trình java có thể được thực hiện nhanh hơn so với "giống nhau" mã trong C++ (hoặc mã biên dịch khác) do tối ưu hóa JIT. Điều này là do trình biên dịch có thể xác định phạm vi của một số biến, tránh một số điều kiện và kéo các thủ thuật tương tự khi chạy.
Bạn có thể cung cấp một (hoặc tốt hơn - một số ví dụ), nơi áp dụng điều này không? Và có thể phác thảo các điều kiện chính xác mà theo đó trình biên dịch có thể tối ưu hóa bytecode vượt quá những gì có thể với mã biên dịch trước?
LƯU Ý: Câu hỏi này là không phải là về cách so sánh Java với C++. Đó là về khả năng biên dịch JIT. Xin vui lòng không có lửa. Tôi cũng không biết bất kỳ bản sao nào. Hãy chỉ ra chúng nếu bạn đang có.
điều này hóa ra là một bản sao. xin lỗi vì sự bất tiện. hãy hợp nhất – kostja