Re: Performance regression in export to LaTeX?

2021-12-19 Thread Jürgen Spitzmüller
Am Sonntag, dem 19.12.2021 um 19:21 + schrieb José Abílio Matos:
> If this proves to be a problem we can speed lyx2lyx code (using
> profiling to identify the bottlenecks).

No, this doesn't seem to be involved.

Jürgen



signature.asc
Description: This is a digitally signed message part
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: Performance regression in export to LaTeX?

2021-12-19 Thread José Abílio Matos
On Sunday, 19 December 2021 17.15.19 WET Jürgen Spitzmüller wrote:
> The first thing to check, since this is a 2.3.x file, is how much time
> is taken by lyx2lyx.

If this proves to be a problem we can speed lyx2lyx code (using profiling to 
identify the bottlenecks).
 
-- 
José Abílio-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: Performance regression in export to LaTeX?

2021-12-19 Thread Jean-Marc Lasgouttes

Le 19/12/2021 à 19:22, Scott Kostyshak a écrit :

On Sun, Dec 19, 2021 at 07:08:56PM +0100, Jürgen Spitzmüller wrote:

Am Sonntag, dem 19.12.2021 um 18:15 +0100 schrieb Jürgen Spitzmüller:

I can bisect as well.


I gave up.


I'll give it a try. Might not be able to do it until tomorrow though.


If we find a really big document, we can also try to run it under a 
profiler. I am not sure whether 5 seconds of UserGuide.lyx will be 
enough. Is this with runtime debugging disables?


JMarc
--
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: Performance regression in export to LaTeX?

2021-12-19 Thread Scott Kostyshak
On Sun, Dec 19, 2021 at 07:08:56PM +0100, Jürgen Spitzmüller wrote:
> Am Sonntag, dem 19.12.2021 um 18:15 +0100 schrieb Jürgen Spitzmüller:
> > I can bisect as well.
> 
> I gave up.

I'll give it a try. Might not be able to do it until tomorrow though.

Scott


signature.asc
Description: PGP signature
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: Performance regression in export to LaTeX?

2021-12-19 Thread Jürgen Spitzmüller
Am Sonntag, dem 19.12.2021 um 18:15 +0100 schrieb Jürgen Spitzmüller:
> I can bisect as well.

I gave up.

Jürgen



signature.asc
Description: This is a digitally signed message part
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: Performance regression in export to LaTeX?

2021-12-19 Thread Jürgen Spitzmüller
Am Sonntag, dem 19.12.2021 um 11:55 -0500 schrieb Scott Kostyshak:
> I can try to do another bisect if there's interest. I'm just not sure
> this is something even related to a use case. I guess the first thing
> to check would be if indeed the issue only shows up with a very long
> line.

The first thing to check, since this is a 2.3.x file, is how much time
is taken by lyx2lyx.

If I convert your example file to master file format, I get

real0m6,868s
user0m6,828s
sys 0m0,020s

So, yes, it seems worthwile to investigate.

I can bisect as well.

Jürgen


signature.asc
Description: This is a digitally signed message part
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: Performance regression in export to LaTeX?

2021-12-19 Thread Scott Kostyshak
On Sun, Dec 19, 2021 at 05:39:16PM +0100, Jürgen Spitzmüller wrote:
> Am Sonntag, dem 19.12.2021 um 11:37 -0500 schrieb Scott Kostyshak:
> > Thanks for checking. Indeed I think my computer has some performance
> > issues (especially with I/O, which I think is relevant in this case).
> > 
> > And what do you get with 2.3.0?
> 
> real  0m1,108s
> user  0m1,077s
> sys   0m0,031s
> 
> So there is a significant difference here, as well.

I can try to do another bisect if there's interest. I'm just not sure
this is something even related to a use case. I guess the first thing to
check would be if indeed the issue only shows up with a very long line.

Scott


signature.asc
Description: PGP signature
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: Performance regression in export to LaTeX?

2021-12-19 Thread Jürgen Spitzmüller
Am Sonntag, dem 19.12.2021 um 11:37 -0500 schrieb Scott Kostyshak:
> Thanks for checking. Indeed I think my computer has some performance
> issues (especially with I/O, which I think is relevant in this case).
> 
> And what do you get with 2.3.0?

real0m1,108s
user0m1,077s
sys 0m0,031s

So there is a significant difference here, as well.

Jürgen



signature.asc
Description: This is a digitally signed message part
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: Performance regression in export to LaTeX?

2021-12-19 Thread Scott Kostyshak
On Sun, Dec 19, 2021 at 05:29:07PM +0100, Jürgen Spitzmüller wrote:
> Am Sonntag, dem 19.12.2021 um 17:24 +0100 schrieb Jürgen Spitzmüller:
> > Though I am getting
> > 
> > real0m5,935s
> > user0m5,739s
> > sys 0m0,066s
> > 
> > With this on master (with -e pdflatex).
> 
> (i.e., with your testfile)

Thanks for checking. Indeed I think my computer has some performance
issues (especially with I/O, which I think is relevant in this case).

And what do you get with 2.3.0?

Scott


signature.asc
Description: PGP signature
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: Performance regression in export to LaTeX?

2021-12-19 Thread Jürgen Spitzmüller
Am Sonntag, dem 19.12.2021 um 17:24 +0100 schrieb Jürgen Spitzmüller:
> Though I am getting
> 
> real  0m5,935s
> user  0m5,739s
> sys   0m0,066s
> 
> With this on master (with -e pdflatex).

(i.e., with your testfile)

Jürgen



signature.asc
Description: This is a digitally signed message part
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: Performance regression in export to LaTeX?

2021-12-19 Thread Jürgen Spitzmüller
Am Sonntag, dem 19.12.2021 um 11:10 -0500 schrieb Scott Kostyshak:
> On master (with your recent fix), I get times like the following:
> 
>   real0m44.676s
>   user0m44.575s
>   sys 0m0.092s
> 
> I'm still using the following command when testing:
> 
>   time mylyx 2.3.x -e pdflatex UserGuide.lyx
> 
> The format "pdflatex" is the shortname for "LaTeX (pdflatex)", where
> pdf2 is the shortname for "PDF (pdflatex)". i.e., I'm checking just
> LyX's LaTeX export without compiling.

You're right.

Though I am getting

real0m5,935s
user0m5,739s
sys 0m0,066s

With this on master (with -e pdflatex).

Jürgen


signature.asc
Description: This is a digitally signed message part
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: LyX 2.4.0

2021-12-19 Thread Richard Kimberly Heck

On 12/18/21 08:21, Daniel wrote:

On 2021-12-14 10:45, Daniel wrote:

On 14/12/2021 10:34, Richard Kimberly Heck wrote:

On 12/12/21 08:55, Daniel wrote:

On 2021-12-10 06:52, Richard Kimberly Heck wrote:

On 12/9/21 03:00, Daniel wrote:

On 2021-12-07 23:04, Richard Kimberly Heck wrote:

On 12/6/21 22:00, Daniel wrote:

On 2021-12-06 22:58, Richard Kimberly Heck wrote:
Do you mean by "safe enough to include" that they should be 
more or less done? For example, there were a couple of 
tickets where you said that you take a look at while there 
were things that needed to be done still. I take it that this 
is not going to happen, right?


Safe as in: Not likely to cause bugs we need to solve before 
the release. Once we hit beta, we are in bug-fixing mode, and 
the fewer the better.


Riki


Okay. (Though it is not what I have expected beta to be. I 
would have thought that software in beta is actually "likely" 
to have bug rather than unlikely. I would have thought the 
latter is release candidate.)


Well, we know beta will have bugs---indeed, we know of some 
already---but the idea is that we do our best not to create new 
bugs at that point. New features bring new bugs. That's why beta 
release goes with feature freeze.


That said, at the moment we're talking about what will make it 
into beta, so some risk is all right.


Riki


I have to do the tickets one by one. Should I post them here 
(with reference) on the list, create a (temporary) meta bug with 
the list of tickets, or just ping you on the tickets themselves?


Maybe assemble a list of them, and then post it here. I'll see it, 
I hope!


You could also add a 'triage' keyword to the bugs themselves. I've 
used that for this kind of purpose.


Riki


Here is a list of enhancements with milestone 2.4.0 and patches. I 
guess it is worthwhile to go though them anyway and either apply or 
re-target them:


https://www.lyx.org/trac/query?status=accepted&status=assigned&status=new&status=reopened&description=~&reporter=~&summary=~&milestone=2.4.0&keywords=~patch&type=enhancement&col=id&col=summary&col=keywords&col=reporter&col=status&col=type&col=severity&desc=1&order=id 



I will not manage to do more than give you this list. Maybe you 
just ask me if something is unclear that seems more efficient since 
you will look at them carefully anyway? I could also give more info 
on them but that is as much as I can do for this weekend. (Maybe I 
missed the road map but some warning would have been helpful a bit 
in advance. I guess it was communicated on some internal list.)


It appears that JMarc's recent changes have introduced some serious 
bugs. Unsurprisingly. So there is probably some leeway for these 
patches. I'll also try to have a look.


If you have the time, it would be really helpful to re-target bugs 
that clearly are NOT format changes. Those can definitely wait until 
2.4.1.


Riki


It is a bit more complicated, I think. There are non-format changes 
that are (arguably) improvements on new features introduced in 
2.4.0dev. Wouldn't it be odd to introduce such new features without 
the improvements in the first place?


One concrete example are the new drop-down buttons called 
"DynamicMenu" [sic]. Currently, they aren't customizable but one of 
my patches makes them customizable.


Daniel



Down to 16 bugs. Does that seem manageable for you?

https://www.lyx.org/trac/query?status=accepted&status=assigned&status=new&status=reopened&description=~&reporter=~&summary=~&milestone=2.4.0&keywords=~patch&type=enhancement&col=id&col=summary&col=keywords&col=reporter&col=status&col=type&col=severity&desc=1&order=id 



Otherwise, I can try to take a look again.


I'll have a look this week. We still have a bit of time, as JMarc's big 
patch gets tested.


Riki


--
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: Looking for KDE testers (Re: [PATCH] allow to force backing store for display)

2021-12-19 Thread Richard Kimberly Heck

On 12/17/21 09:25, Jean-Marc Lasgouttes wrote:

Le 16/12/2021 à 16:39, Jean-Marc Lasgouttes a écrit :


This patch allows to enforce the use of of a backing store for 
display. This has no effect for Wayland and macOS, when backing store 
is always on.


The main use for it is x11 with a window manager theme with 
translucent windows (KDE)

https://www.lyx.org/trac/ticket/12119

At this point, there is no UI for this, because I think this is a 
niche case. I would be open to the idea of adding a checkbox somewhere.


The reworked patch is now in master, along with a new checkbox for X11 
and Windows users.


I would be grateful of a KDE/X11 user could try to install a 
translucid windows theme like Layan and check

1/ that it creates display issues
2/ that the new checkbox in Preferences|Display fixes it (at the cost 
of losing subpixel aliasing).


This is candidate for 2.3.7 (by default it does nothing).


I can't test, unfortunately, but it's fine for 2.3.x if someone else can.

Riki


--
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: Performance regression in export to LaTeX?

2021-12-19 Thread Scott Kostyshak
On Sun, Dec 19, 2021 at 03:45:40PM +0100, Jürgen Spitzmüller wrote:
> Am Sonntag, dem 19.12.2021 um 15:03 +0100 schrieb Jürgen Spitzmüller:
> > So it's the cprotection checks that seem to cost time. Need to check
> > whether this can be optimized.
> 
> After 61b8afd893ec we're back at
> 
> real  0m19,685s
> user  0m15,633s
> sys   0m3,025s
> 
> Which is still a bit slower than stable, but a lot faster that where we
> have been.

Thank you, Jürgen! That is indeed much better.

Here is an example file that might show a different (but related?)
issue:

  https://www.dropbox.com/s/cwaj2ms14fln8oi/example.23.lyx?dl=0

It's a contrived example file. It just pastes a string like "h" over
and over. I think it is all on the same line. And pdflatex refuses to
compile it because of the extremely long line. I get:

  "! Unable to read an entire line---bufsize=20."

Thus, a fair response would be "find me a more reasonable use case
before making noise" :)

Nonetheless, the difference in timings are quite large:

On 2.3.0 I'm getting times like the following:

  real  0m6.476s
  user  0m6.396s
  sys   0m0.081s

On master (with your recent fix), I get times like the following:

  real  0m44.676s
  user  0m44.575s
  sys   0m0.092s

I'm still using the following command when testing:

  time mylyx 2.3.x -e pdflatex UserGuide.lyx

The format "pdflatex" is the shortname for "LaTeX (pdflatex)", where
pdf2 is the shortname for "PDF (pdflatex)". i.e., I'm checking just
LyX's LaTeX export without compiling.

Scott


signature.asc
Description: PGP signature
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: Performance regression in export to LaTeX?

2021-12-19 Thread Jürgen Spitzmüller
Am Sonntag, dem 19.12.2021 um 15:03 +0100 schrieb Jürgen Spitzmüller:
> So it's the cprotection checks that seem to cost time. Need to check
> whether this can be optimized.

After 61b8afd893ec we're back at

real0m19,685s
user0m15,633s
sys 0m3,025s

Which is still a bit slower than stable, but a lot faster that where we
have been.

Jürgen




signature.asc
Description: This is a digitally signed message part
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: Performance regression in export to LaTeX?

2021-12-19 Thread Jürgen Spitzmüller
Am Sonntag, dem 19.12.2021 um 11:45 +0100 schrieb Jürgen Spitzmüller:
> I try to bisect myself.

This leads to:

commit b814c4fda732c8b5ee019692eb881c35b9335da6
Author: Juergen Spitzmueller 
Date:   Sun Sep 20 08:45:42 2020 +0200

Fix unnecessary cprotect

Note, however, that this is not accountable for all the increment.
There seem to be several minor leaps involved additionally. But the one
above is the most significant (by far), ca. 10 secs.

So it's the cprotection checks that seem to cost time. Need to check
whether this can be optimized.

Jürgen



signature.asc
Description: This is a digitally signed message part
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel


Re: Performance regression in export to LaTeX?

2021-12-19 Thread Jürgen Spitzmüller
Am Samstag, dem 18.12.2021 um 13:26 -0500 schrieb Scott Kostyshak:
> Thanks, Jean-Pierre. I wonder why you must export to pdf2. Using
> "pdflatex" instead gives an error?

Because -e takes a file format as argument, and the file format for
pdflatex output is pdf2, not pdflatex.

> 
> In any case, I see roughly the same ratio. I tried to do a bisect and
> got to the following:
> 
>   commit 26ea1e14966c092a7b87c75c19b83a369e79aeb8
>   Author: Juergen Spitzmueller 
>   Date:   Sun Apr 22 19:06:46 2018 +0200
>   
>   Align fontenc with document fonts
> 
> But I'm not so confident in my bisect since performance issues are
> hard to bisect. This commit also changes file format and prefs
> change, so that might play a role.

I do not see such a huge difference.

At 26ea1e14966c

real0m18,531s
user0m13,952s
sys 0m3,168s


At 337ec5830a041 (the commit before):

real0m16,335s
user0m11,609s
sys 0m3,259s

So a bit more, but not that much.

Stable gives:

real0m16,731s
user0m11,244s
sys 0m4,251s

And current master:

real0m33,165s
user0m28,740s
sys 0m3,420s

So the cuplrit must be later (or it's a cumulative increasement).

I try to bisect myself.

Jürgen



signature.asc
Description: This is a digitally signed message part
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel