https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78549

--- Comment #7 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> ---
(In reply to mecej4 from comment #6)
> (In reply to Jerry DeLisle from comment #5)
> > 
> > Can you explain what "Windows Subsystem for Linux (Ubuntu 14) on Windows-10"
> > is?
> 
> Sorry if I created a bad portmanteau phrase. 
> 
> Here is a link to Microsoft's own description of WSL (Windows Subsystem for
> Linux) : https://msdn.microsoft.com/en-us/commandline/wsl/about .
> 
> This beta product for Windows 10-x64 provides a Bash shell in which
> character I/O, user-mode Linux applications can be run (only 64-bit a.out
> supported). I found it fairly simple to install, and it worked well for the
> tests that I tried. Once Bash has been installed, one can install Ubuntu-14
> packages using Apt-Get; in particular, there is a Gfortran 6.2 package that
> works.
> 
> While browsing the sources of LibGfortran, I found the file which seemed to
> be a candidate for profiling: write_float.def, which I understand you are
> currently revising.

Thanks for the explanation. I am done with planned changes to write_float.def.
It really is not fair to compare f2c/gcc because f2c does some optimizations we
can not do and we have many runtime checks that have to be done to support F95,
F2003, F2008. Regardless I am always looking for ways to improve.
Unfortunately, some of my ideas would involve significant rewrites of things.
(aka changing the entire structure of how we do things in libgfortran)

With that said, I don't think write_float is fundamentally the issue here. We
have to handle a plethora of formatting of the float strings, depending on the
the format string. decimal status, comma status, blank status, rounding modes,
etc. We call snprintf to get the basic numeric strings and build the required
output from there. After all that, we send it out.

Regardless, I will be looking at pr78531 (which is a result of doing some
speedups for internal units) and I will be thinking more about this PR here.

Reply via email to