octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #59711] 30 seconds to load the "ltfat" package


From: Markus Mützel
Subject: [Octave-bug-tracker] [bug #59711] 30 seconds to load the "ltfat" package
Date: Wed, 23 Dec 2020 11:45:42 -0500 (EST)
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.66

Follow-up Comment #9, bug #59711 (project octave):

Thanks.
So, even if the current stable is much faster than Octave 6.1, it is still
about 6 times slower than Octave 5.2.

I attached a profiler (Very Sleepy CS) to Octave and ran `pkg load ltfat` on
my machine. The profiler slows down execution notably. But I hope the results
are still valid.

For me, it is still `canonicalize_file_name` that consumes most of the time in
the running thread.
The "slowest" call stacks point to this code:
https://hg.savannah.gnu.org/hgweb/octave/annotate/262cdfc6faf9/libinterp/corefcn/load-path.cc#l1938

According to the commit message, this was added to solve bug #57439.
I wonder if we could use a combination of `make_absolute` and `tolower`
instead of `canonicalize_file_name` in that function on Windows
(`canonicalize_file_name` is probably much faster on Linux because it is a
system call).
This might also be a potential candidate for a `normalize_file_name` function
that was discussed in bug #59706.

The second choking point is in `octave::load_path::dir_info::update` where
`file_stat` is used to check whether directories exist. There are much more
efficient ways to check for this on Windows.
See: https://savannah.gnu.org/bugs/?57439#comment50


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?59711>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]