[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwrite-devel
Subject:    Re: accumulating projects in kate lead to excessive kate startup time due to git
From:       Waqar Ahmed <waqar.17a () gmail ! com>
Date:       2022-06-18 12:38:13
Message-ID: CAPesRH6D=ssWe2ffZPqyp7mNP_gJDPOPecNwxEtJTjYVHOm=Ew () mail ! gmail ! com
[Download RAW message or body]

This is a result of a recent feature we added, i.e., a project is saved
when you close Kate, and restored when you reopen.

This is okay if one uses named sessions. Named sessions need to be opened
explicitly. However, for anon sessions, this was a bad idea and is a
constant annoyance.

It's fixed in a way that we added an option to disable project
restoration(upcoming release). But I think for anon sessions projects
should never be stored in the first place.



Waqar


On Sat, Jun 18, 2022, 5:16 PM Milian Wolff <mail@milianw.de> wrote:

> Hey all,
>
> Kate took ~4s to show its main window on my beefy workstation with lots of
> RAM, CPUs and speedy NVME disks. I found this quite odd and wondered about
> the
> reason so I sat down and profiled it. Perf shows a lot of external git
> processes running sequentially, which I could also replicate with strace:
>
> ```
> $ strace -o kate.process.log -f --timestamps -e process kate
> $ grep -E "execve.*git" kate.process.log  | wc
>     159
> ```
>
> See also: https://invent.kde.org/-/snippets/2234
>
> The reason, it turns out, was that my kate accumulated a lot of projects,
> and
> all of them got queried for their git status.
>
> I hope that you all agree that this isn't acceptable. The question now
> becomes
> how to resolve this:
>
> a) I never knowingly opened a project in kate, this is all done
> automatically
> in the background. Is it expected that I should manually cleanup the
> project
> list then? Or can this be done automatically, e.g. by marking projects as
> unused after some time when we don't open a file in them in the last week
> or
> something like that?
>
> b) Can we query the git status in parallel for all projects, instead of
> serially? My machine has 12 cores and 24 threads, and the NVME disk and
> ram
> should also allow this.
>
> Thanks
>
> PS: For now, I manually closed all projects and now have a fast kate
> startup
> once again.
>
> --
> Milian Wolff
> mail@milianw.de
> http://milianw.de

[Attachment #3 (text/html)]

<div dir="auto"><div>This is a result of a recent feature we added, i.e., a project \
is saved when you close Kate, and restored when you reopen.  </div><div \
dir="auto"><br></div><div dir="auto">This is okay if one uses named sessions. Named \
sessions need to be opened explicitly. However, for anon sessions, this was a bad \
idea and is a constant annoyance.  </div><div dir="auto"><br></div><div \
dir="auto">It&#39;s fixed in a way that we added an option to disable project \
restoration(upcoming release). But I think for anon sessions projects should never be \
stored in the first place.  </div><div dir="auto"><br></div><div \
dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">Waqar</div><div \
dir="auto"><br><br><div class="gmail_quote" dir="auto"><div dir="ltr" \
class="gmail_attr">On Sat, Jun 18, 2022, 5:16 PM Milian Wolff &lt;<a \
href="mailto:mail@milianw.de">mail@milianw.de</a>&gt; wrote:<br></div><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex">Hey all,<br> <br>
Kate took ~4s to show its main window on my beefy workstation with lots of <br>
RAM, CPUs and speedy NVME disks. I found this quite odd and wondered about the <br>
reason so I sat down and profiled it. Perf shows a lot of external git <br>
processes running sequentially, which I could also replicate with strace:<br>
<br>
```<br>
$ strace -o kate.process.log -f --timestamps -e process kate<br>
$ grep -E &quot;execve.*git&quot; kate.process.log   | wc<br>
      159<br>
```<br>
<br>
See also: <a href="https://invent.kde.org/-/snippets/2234" rel="noreferrer \
noreferrer" target="_blank">https://invent.kde.org/-/snippets/2234</a><br> <br>
The reason, it turns out, was that my kate accumulated a lot of projects, and <br>
all of them got queried for their git status.<br>
<br>
I hope that you all agree that this isn&#39;t acceptable. The question now becomes \
<br> how to resolve this:<br>
<br>
a) I never knowingly opened a project in kate, this is all done automatically <br>
in the background. Is it expected that I should manually cleanup the project <br>
list then? Or can this be done automatically, e.g. by marking projects as <br>
unused after some time when we don&#39;t open a file in them in the last week or <br>
something like that?<br>
<br>
b) Can we query the git status in parallel for all projects, instead of <br>
serially? My machine has 12 cores and 24 threads, and the NVME disk and ram <br>
should also allow this.<br>
<br>
Thanks<br>
<br>
PS: For now, I manually closed all projects and now have a fast kate startup <br>
once again.<br>
<br>
-- <br>
Milian Wolff<br>
<a href="mailto:mail@milianw.de" target="_blank" \
rel="noreferrer">mail@milianw.de</a><br> <a href="http://milianw.de" rel="noreferrer \
noreferrer" target="_blank">http://milianw.de</a></blockquote></div></div></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic