hykilpikonna / hyfetch

🏳️‍🌈 🏳️‍⚧️ Neofetch with LGBTQ+ pride flags!
MIT License
1.34k stars 114 forks source link

hyfetch is very slow on windows (take 7 seconds to complete) #119

Closed DNS closed 1 year ago

DNS commented 1 year ago

image

image

OS: Windows 10 ENT 22H2, 64-bit Terminal: Windows Terminal hyfetch --version : 1.4.8

hykilpikonna commented 1 year ago

Can you tell which step is the slowest? It's probably caused by the slow winget command...

Maybe you can try using hyfetch with the fastfetch backend, it might work much better on Windows since fastfetch doesn't depend on bash

DNS commented 1 year ago

winget definitely the slowest, but all steps seem slow.

hyfetch -b fastfetch and also fastfetch-old return error:

PS C:\Users\dns> hyfetch -b fastfetch
Error: [WinError 2] The system cannot find the file specified
Traceback (most recent call last):
  File "C:\Users\dns\AppData\Roaming\Python\Python311\site-packages\hyfetch\main.py", line 391, in run
    neofetch_util.run(asc, config.backend)
  File "C:\Users\dns\AppData\Roaming\Python\Python311\site-packages\hyfetch\neofetch_util.py", line 343, in run
    return run_fastfetch(asc)
           ^^^^^^^^^^^^^^^^^^
  File "C:\Users\dns\AppData\Roaming\Python\Python311\site-packages\hyfetch\neofetch_util.py", line 381, in run_fastfetch
    proc = subprocess.run(['fastfetch', '--raw' if legacy else '--file-raw', path.absolute()])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python311\Lib\subprocess.py", line 548, in run
    with Popen(*popenargs, **kwargs) as process:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python311\Lib\subprocess.py", line 1024, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Program Files\Python311\Lib\subprocess.py", line 1509, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 2] The system cannot find the file specified
DNS commented 1 year ago

Apparently hyfetch -b fastfetch need fastfetch.exe binary. Running hyfetch -b fastfetchis still slow.

hyfetch -b fastfetch : 1.390s fastfetch.exe : 0.128s

image

image

hykilpikonna commented 1 year ago

I think 1.4s is good enough since hyfetch isn't something that need to be run very frequently. You can help us optimize if you want to run it faster.