Çalışma zamanı matris işlemleriyle bağlı olan bir şeyi hesaplıyoruz. (İlgiliyse aşağıdaki bazı ayrıntılar.) Bu deneyim aşağıdaki soruyu yöneltti:
Halk, matris matematiği için Java kitaplıklarının performansıyla ilgili deneyime sahip mi (ör. Çarpma, ters vb.)? Örneğin:
Aradım ve hiçbir şey bulamadım.
Hız karşılaştırmamızın detayları:
Intel FORTRAN (ifort (IFORT) 10.1 20070913) kullanıyoruz. Apache commons math 1.2 matrix ops'u kullanarak Java'da (1.6) yeniden uyguladık ve tüm doğruluk basamaklarını kabul etti. (Java'da istemek için nedenlerimiz var.) (Java iki katına çıkar, Fortran real * 8). Fortran: 6 dakika, Java 33 dakika, aynı makine. jvisualm profili oluşturma RealMatrixImpl'de çok fazla zaman geçirdiğini gösterir. {getEntry, isValidCoordinate} (yayınlanmamış Apache commons math 2.0'da yok gibi görünüyor, ancak 2.0 daha hızlı değil). Fortran, Atlas BLAS rutinlerini (dpotrf vb.) Kullanıyor.
Açıkçası bu her dilde kodumuza bağlı olabilir, ancak çoğu zaman eşdeğer matris işlemlerinde olduğuna inanıyoruz.
Kütüphaneleri içermeyen diğer bazı hesaplamalarda, Java çok daha yavaş ve bazen daha hızlı olmamıştır.