https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78549
--- Comment #10 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- Here are some gprof timings: Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls ms/call ms/call name 28.73 2.06 2.06 delete_root 15.76 3.19 1.13 build_float_string 5.86 3.61 0.42 formatted_transfer_scalar_write 5.30 3.99 0.38 _gfortrani_parse_format 4.53 4.32 0.33 get_float_string 3.14 4.54 0.23 data_transfer_init 3.00 4.76 0.22 write_float_0 2.79 4.96 0.20 next_format0 2.09 5.11 0.15 next_char 1.95 5.25 0.14 insert 1.95 5.39 0.14 parse_format_list 1.81 5.52 0.13 _gfortrani_free_format_hash_table 1.67 5.64 0.12 get_precision 1.67 5.76 0.12 select_buffer 1.53 5.87 0.11 get_gfc_unit 1.26 5.96 0.09 _gfortrani_next_format 1.19 6.04 0.09 _gfortrani_write_block 1.12 6.12 0.08 write_float_string 1.05 6.20 0.08 _gfortrani_next_record What is striking is the long time spent in delete_root.