Kami menghitung sesuatu yang runtime terikat oleh operasi matriks. (Beberapa detail di bawah ini jika tertarik.) Pengalaman ini mendorong pertanyaan berikut:
Apakah orang-orang memiliki pengalaman dengan kinerja perpustakaan Java untuk matematika matriks (misalnya, gandakan, terbalik, dll.)? Sebagai contoh:
Saya mencari dan tidak menemukan apa pun.
Detail perbandingan kecepatan kami:
Kami menggunakan Intel FORTRAN (ifort (IFORT) 10.1 20070913). Kami telah mengimplementasikannya kembali di Java (1.6) menggunakan Apache commons math 1.2 matrix ops, dan setuju untuk semua digit akurasinya. (Kami memiliki alasan untuk menginginkannya di Jawa.) (Java dobel, Fortran real * 8). Fortran: 6 menit, Jawa 33 menit, mesin yang sama. profil jvisualm menunjukkan banyak waktu yang dihabiskan di RealMatrixImpl. {getEntry, isValidCoordinate} (yang tampaknya hilang di Apache commons math 2.0 yang belum dirilis, tetapi 2.0 tidak lebih cepat). Fortran menggunakan rutinitas Atlas BLAS (dpotrf, dll.).
Jelas ini bisa tergantung pada kode kami di setiap bahasa, tetapi kami percaya sebagian besar waktu dalam operasi matriks yang setara.
Dalam beberapa perhitungan lain yang tidak melibatkan perpustakaan, Java belum jauh lebih lambat, dan kadang-kadang jauh lebih cepat.