Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8355238

Performance drops with Math.tanh

XMLWordPrintable

       
      import java.util.Random;
      import java.util.Arrays;
       
      public class test {
        public static void micro(double [] dst, double [] src) {
           for (int i = 0; i < 1024; i++) {
               dst[i] = Math.tanh(src[i]);
           }
        }
        public static void main(String [] args) {
           Random R = new Random(1023);
           double [] res = new double[1024];
           double [] src = new double[1024];
           for (int i = 0; i < 1024; i++) {
               src[i] = 0.5;
           }
           for (int i = 0 ; i < 100000; i++) {
               micro(res, src);
           }
           long t1 = System.currentTimeMillis();
           for (int i = 0 ; i < 100000; i++) {
               micro(res, src);
           }
           long t2 = System.currentTimeMillis();
           System.out.println("[time] " + (t2-t1) + " ms [res] ");
        }
      }
      GNR>java -XX:+UnlockDiagnosticVMOptions -Xbatch -XX:-TieredCompilation -XX:DisableIntrinsic=_dtanh -cp . test
      GNR>### 0.1
      GNR>java -XX:+UnlockDiagnosticVMOptions -Xbatch -XX:-TieredCompilation -XX:DisableIntrinsic=_dtanh -cp . test
      [time] 1091 ms [res]
      GNR>java -XX:+UnlockDiagnosticVMOptions -Xbatch -XX:-TieredCompilation -cp . test
      [time] 1562 ms [res]
      GNR>
      GNR>
      GNR>vi test.java
      GNR>javac test.java
      GNR>### 0.5
      GNR>java -XX:+UnlockDiagnosticVMOptions -Xbatch -XX:-TieredCompilation -XX:DisableIntrinsic=_dtanh -cp . test
      [time] 1349 ms [res]
      GNR>java -XX:+UnlockDiagnosticVMOptions -Xbatch -XX:-TieredCompilation -cp . test
      [time] 1547 ms [res]
      GNR>


      GNR>java --version
      openjdk 25-ea 2025-09-16
      OpenJDK Runtime Environment (build 25-ea+17-1966)
      OpenJDK 64-Bit Server VM (build 25-ea+17-1966, mixed mode, sharing)

            Unassigned Unassigned
            jbhateja Jatin Bhateja
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: