2012-07-18 53 views
11

Có ai từng thử điểm chuẩn một ứng dụng java được biên dịch sang native bằng cách sử dụng Excelsior JET chống lại cùng một ứng dụng đang chạy trong thời gian chạy java bình thường không? Điểm chuẩn duy nhất tôi có thể tìm thấy được lưu trữ trên trang web của Excelsior và dành cho một ứng dụng duy nhất; Tôi muốn thấy một số kết quả độc lập.có ai đo điểm chuẩn Excelsior JET biên dịch-bản địa so với thời gian chạy java chuẩn không?

Ứng dụng của tôi có cả mức sử dụng CPU và bộ nhớ cao (đó là các mô hình học máy đào tạo). Tôi không mong đợi một sự gia tăng hiệu suất với việc sử dụng Jet, nhưng tôi có thể cần phải chạy trên một môi trường không có thời gian chạy java sẵn có (do đó biên dịch thành bản địa) và tôi cần biết hiệu suất có tồi tệ hơn không.

Tôi biết rằng Excelsior có một eval. có sẵn, nhưng tôi hy vọng sẽ tiết kiệm thời gian tải xuống, định cấu hình, thử nghiệm nó ...

Trả lời

20

KHUYẾN CÁO: Tôi làm việc cho Excelsior.

Để trả lời câu hỏi của bạn, kết quả điểm chuẩn của bên thứ ba gần đây nhất mà tôi biết là these, nhưng tôi đã kiểm tra chỉ - bài đó là hơn bốn tuổi ...

Bây giờ nếu bạn cho phép tôi đưa ra một số lời khuyên:

Dựa trên hơn 13 năm kinh Excelsior cuộc sống thị trường JET, tôi có thể nói với bạn rằng bạn để kiểm tra nó chống lại ứng dụng cụ thể của bạn. Không có điểm chuẩn nào sẽ cung cấp cho bạn bất kỳ ý tưởng nào về cách ứng dụng của bạn sẽ hoạt động khi được biên dịch một cách tự nhiên. Như chúng ta đã nói, số dặm của bạn sẽ thay đổi. Chúng tôi có khách hàng báo cáo tăng tốc độ mà chúng tôi chưa bao giờ thấy trong phòng thí nghiệm của mình và chúng tôi có triển vọng từ bỏ đánh giá sớm vì ứng dụng của họ trở nên chậm hơn nhiều. (Sau này thường xảy ra do cấu hình sai - ví dụ: không phải tất cả các lớp đều được biên dịch trước - vì vậy vui lòng liên hệ với các kỹ sư của chúng tôi nếu bạn gặp phải điều gì đó như vậy.)

Ngoài ra còn có một số nghiên cứu điển hình về so sánh hiệu suất trên trang web của chúng tôi (#1) #2), nhưng tất nhiên là từ những người dùng có ứng dụng trở nên nhanh hơn. ;)

Cập nhật 15-Dec-2014: Một lời cảnh báo: Kể từ Excelsior JET 10, phiên bản 64 bit bị tụt hậu so với phiên bản 32 bit về hiệu suất, như trước đây dựa trên mới, được xây dựng từ lõi trình biên dịch đầu mà ít tối ưu hóa được triển khai. Chúng tôi đang nỗ lực để đảo ngược tình huống này, nhưng hiện tại, nếu hiệu suất quan trọng đối với bạn , bạn không có bất kỳ lý do thực sự nào tốt để sử dụng phiên bản 64 bit, chẳng hạn như đống lớn hoặc cần tích hợp với 64 -bit thư viện bản địa, hoặc cần phải nhắm mục tiêu OS X, gắn bó với phiên bản 32-bit đã thử và thực sự.

+9

+1 cho bản trình bày (tuyên bố từ chối trách nhiệm cộng với câu trả lời cân bằng không có mùi "markety") –

+1

Cảm ơn câu trả lời trung thực của bạn. Tôi ước điều này sẽ góp phần giúp bạn có được khách hàng. – Tarik

9

Tôi sử dụng Excelsior JET cho trò chơi phần mềm miễn phí. Trong các thử nghiệm của tôi, trò chơi không chạy nhanh hơn hoặc chậm hơn, nhưng tốc độ khung hình phù hợp hơn với Excelsior JET so với máy ảo của Oracle. Việc khởi động trò chơi của chúng tôi là tốt hơn với JET. JVM mất một lúc để khởi động và tải tất cả các lớp, nhưng với JET nó đang chạy ngay lập tức.

Mức tiêu thụ bộ nhớ có thể cao hơn một chút với Excelsior JET nếu bạn sử dụng nhiều luồng - vì theo mặc định Excelsior JET sử dụng kích thước ngăn xếp luồng cố định lớn. Nhưng điều đó có thể được cấu hình - vì vậy nó không phải là một vấn đề.

Hỗ trợ qua email cũng rất tốt. Bạn có thể nói chuyện với các kỹ sư, không hỗ trợ nhân sự. Nếu bạn tình cờ tìm thấy một lỗi sửa chữa thường chỉ là một ngày đi. Tôi cũng muốn lưu ý rằng tôi đã có một số báo cáo sự cố không mong muốn đáng kinh ngạc từ những người dùng có phiên bản JET trước đó (> 2 tuổi trở lên).Các bản phát hành hiện tại (7.6, và bây giờ 8.0) đều là đá rắn. Chúng tôi không thấy bất kỳ sự cố nào trên máy mười nghìn.

Tóm lại: Tôi có thể đề xuất Excelsior JET, hiệu suất là (trong trường hợp của chúng tôi) tốt như với JVM.

0

Tôi vừa cài đặt phiên bản đánh giá Excelsior Jet 11 64 bit bao gồm Gói bảo trì 3 để xem công cụ cờ vua tùy chỉnh của tôi mà tôi đã viết trong Java có đạt được hiệu suất hay không (elo-score +/- 2100). Đáng tiếc là không, tốc độ của nó gần như giảm đi một nửa (450k nút/giây thay vì 1m trên Intel Q9550). Tôi đoán đây là kết quả của phiên bản 64 bit của Excelsior không được tối ưu hóa.

Công cụ cờ vua của tôi sử dụng bitboard (độ dài 64 bit) làm biểu diễn bàn cờ và thực hiện rất nhiều thao tác bitwise. Hơn nữa nó có rất nhiều tra cứu mảng.

Mức tiêu thụ bộ nhớ giống nhau.

+0

Anh chàng Excelsior ở đây. Chúng tôi muốn điều tra vấn đề này. Là nguồn mở động cơ của bạn hoặc có sẵn ở dạng nhị phân? –

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