<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/125444>125444</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [Flang] Initialization of large arrays increases compilation time
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          ohno-fj
      </td>
    </tr>
</table>

<pre>
    ```
Version of flang : 20.0.0(1c4341d176492da5f276937b84a3d0c959e4cf5b)/AArch64
```

Initialization of the large array in `type declaration statement` increases compilation time.  
The array size is changed to eight patterns and the compilation time is measured with `time command`.  
For all sizes, Flang takes longer to compile than Gfortran and ifx.  
The compilation time of Flang increases as the array size increases.  
Gfortran does not increase compilation time. 

The result is:
|array size |flang    |gfortran |ifx |
|-----------|---------|---------|---------|
|100        |0m0.598s |0m0.092s |0m0.037s |
|1000       |0m0.572s |0m0.067s |0m0.043s |
|10000 |0m0.610s |0m0.083s |0m0.033s |
|100000     |0m0.745s |0m0.061s |0m0.049s |
|1000000    |0m1.948s |0m0.099s |0m0.104s |
|2000000    |0m3.300s |0m0.092s |0m0.170s |
|4000000    |0m6.039s |0m0.096s |0m0.293s |
|8000000 |0m11.254s|0m0.078s |0m0.553s |

The above time is `user` of `time command`.

The following are the test program, Flang, Gfortran and ifx compilation/execution result.

sngtea44_2.f90:
```fortran
program main
 real(4),dimension(8000000)::r1=0
end program main
```

```
$ time flang sngtea44_2.f90; ./a.out

real    0m11.111s
user    0m10.912s
sys 0m0.155s
$
```

```
$ time gfortran sngtea44_2.f90

real 0m0.135s
user    0m0.095s
sys     0m0.020s
$
```

```
$ time ifx sngtea44_2.f90

real    0m0.664s
user    0m0.571s
sys 0m0.051s
$
```

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUlc2OpDYQx5_GfbEGlb_4OHBge9VR7lGukRsK8AZwy3bPzuzTRwa6YZnJKkHdorD9r1_ZrrK196abEEuivhD19aTvobeutP1kX9pvp6tt3kuSwvqD6k903tiJ2pa2g546SkRFOSSQAOE5q6WQrGFZKgveaNXyLC1Eds2lFg3UhSpQ1q26El4QfqkqV_epJFDtCQSq3ycTjB7MDx1WVuiRDtp1SLVz-p2aiZIUwvsNaYP1oN0y0gcdcMQpkBSomWqH2qOntR1vZliGBDNiQimB6o_-4c2bH0iNp3Wvpw4bGixF0_WB3nQI6CZP9dTMMRw9RdWI2t8dNvS7Cf0cVuyo7TjqqSEpLLSLdVQPw8zyhJ_pZV6-oP9GTwc7degidwEgDb2e6G-tdcHpacab9m2L-0Mctl0dbrPWfg55P8VH3-Lo6b6x6Olkw3PAJyu27ExkO_T3IVDjiYhNJDvvECQ7L3lBabS7B4JkZ9O-xdciedme_dcv7EXHAOj6kOwMIySqyP3DhoJvtsg83evgoMt2Y9Nss6U46ODRlTLYhuVih_oggT0qk2qHYjtU8UEHTx1LCrmfWvG0Gcidjh90IhEAny4Jy2CnkwddmoAodrr0afNiP7981S1BsoQr6R-ibAtYqU20FtvVvuKzbEgKd48uVqptPyubTdjaYbDfzdRR7XBO6oA-0JuzndPjs5iicSyZfSYTfsE3rO9zVi9ZvEL81AXUUv7Fk7aANa8fZ9LqkUC1AumoTfykDvVAeC7n4-zcmBEnP3PydY1ih6iIqBwj4ms83XBq6MHN4fD76ZPLZb2WmjqG-YUmhF90Yu9h0caA4n7O-8IY8wSquMhrGyQF47HNv3s6J4RSfsH8xzie9XwIZaPPboX6mRzTST3AzyYO_w8et_NfuavTNJVHtMrYfs6g2OfYU1OKphCFPmHJMpErmXMOp75sQDZcKMmzTDGR52mdqUaBxDa_1ozJkyk5cAUcRPxLSJo6V6lWkBatSHVaEAk4ajMkw_A6JtZ1J-P9HUvGlZTyNOgrDn6-gjlvl1Tm8TZ2ZRS8XO-dJxIG44PfXAQThvneXpJffaUf783dnel_cSGe7m4o-xBu85nOL4RfOhP6-zWp7Uj4JTLX18vN2W9YB8Iv8xw84Zd1Gq8l_ycAAP__ssdefQ">