https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78549
Thomas Koenig <tkoenig at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |NEW Target Milestone|--- |8.0 Summary|Very slow formatted |[8 Regression] Very slow |internal file output |formatted internal file | |output --- Comment #13 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- Here is the timing for gcc 6: Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls ms/call ms/call name 32.15 0.99 0.99 output_float 12.34 1.37 0.38 formatted_transfer 11.04 1.71 0.34 next_format0 7.14 1.93 0.22 write_float 3.73 2.05 0.12 _gfortrani_write_block 3.25 2.15 0.10 next_char 2.92 2.24 0.09 data_transfer_init 2.60 2.32 0.08 _gfortrani_next_format 2.60 2.40 0.08 get_fnode 2.60 2.48 0.08 write_integer 2.27 2.55 0.07 _gfortrani_parse_format 2.27 2.62 0.07 finalize_transfer 2.27 2.69 0.07 parse_format_list 1.95 2.75 0.06 _gfortrani_next_record 1.14 2.78 0.04 _gfortran_transfer_array 0.97 2.81 0.03 _gfortrani_mem_alloc_r4 So, this does appear to be a regression for gcc8 at least. The time is also longer (~20 s for trunk, ~14 s for gcc 6).