Mogan Research v1.2.1: a better v1.2.x release

Install now (but be aware of the known issues, you may use v1.1.6 and wait to evaluate the next version)
https://mogan.app/guide/Install.html


I’m very happy and can not wait to share Mogan Research v1.2.1 with you:

Still need to update the website and add changelogs. Sorry for the low quality release of v1.2.0.

3 Likes

There are still several bugs. I will put them in the known issues secion of the installation page on the official website and also the changelog later.

I don’t know what changed between v1.6.1 and v1.2.1, but v1.2.1 is so laggy that it is unusable, whereas v1.6.1 is almost buttery smooth.

I am on Arch Linux.

It is because there are no cache (especial font cache) when you start to use 1.2.1. Remove the cache, you will find that v1.2.1 is much faster than v1.1.6. You can check the commits starting with [11_17], they are the key of ther performance tuning. For example: https://github.com/XmacsLabs/mogan/commit/a8c9a8da8f08f5cf5595d3e2e6f92d9d578d6110

Which cache folder should I remove?

For Mogan 1.1.x, the TEXMACS_HOME_PATH is ~/.Xmacs, you can move ~/.Xmacs to ~/.Xmacs.bak. For Mogan Research 1.2.x, it is ~/.local/share/XmacsLabs.

Here is the related code to init TEXMACS_HOME_PATH in v1.2.x

Before, when TeXmacs/Mogan check if a font exist, we will check every directory each time. And now, we will cache all the font file name and the path. That’s the main difference. It takes to over 40 seconds (in the font init phase) using Mogan Research v1.2.0, and it takes me less than 100ms using Mogan Research v1.2.1.

I still don’t understand why I should remove ~/.Xmacs when the new version uses a different folder. I removed ~/.Xmacs. It made no difference. It is now much slower and even consumes more cpu resources on idle.

Here’s a recording of how the new version is on my end: https://drive.google.com/file/d/1vmANyxNUUPF6RecxUd5hVRNGnzW34qm1/view?usp=sharing

I still don’t understand why I should remove ~/.Xmacs when the new version uses a different folder.

I mean when you are comparing the performance of the two versions, you should clear the cache first and then compare.

Here’s a recording of how the new version is on my end: https://drive.google.com/file/d/1vmANyxNUUPF6RecxUd5hVRNGnzW34qm1/view?usp=sharing

Thanks for reporting the bugs. There are issues in the maxima session. It is very slow in Mogan 1.2.0 and 1.2.1. I will improve it as soon as possible.

The 40 seconds problem only occurs when there are many fonts installed on the system.

It’s not just maxima. Opening documents take way longer than before. Typing has a lot of lag. I specifically recorded the video with audio so that you can know how long it takes from the moment I press a key to the moment I get a response on the screen. Also, the idle CPU usage has gone up almost 3 times. Slowness in maxima is just a manifestation of all these issues. Right now, I’ve gone back to v1.6.1, which works quite well.
Also, I am finding it hard to keep using mogan. I like the improved speed compared to TeXmacs, but you keep changing breaking changes. One moment, you remove all plugins. Then you change the app name. Then you remove useful functionalities like conversation to latex. I also have custom style file which didn’t work in the latest version. I don’t understand the need for all these changes. It just makes the user’s life harder. Yes, the speed improvement is nice, but all other changes don’t seem to have any benefit to the user.

1 Like

You can evaluate it later. Changes like upgrading to Qt 6 do make Mogan v1.2.x unstable.

It was broken in v1.2.0. And I just bring it back in v1.2.1. And I’ve added an integration test to make sure that it will break again, see:

Right now, I’ve gone back to v1.1.6, which works quite well.

Usually, major changes of a software may make it worse. Like no one will bump to Qt 6.0 when they just released Qt 6.

Opening documents take way longer than before.

Maybe there are performance issues in the renderer backed by Qt 6. Thanks for reporting the issue.

I’ve watched the video record by you. For maxima session, I’ve noticed the problem. And for typing in other area, it might be the font issue. I removed several ttf fonts which is bundled with TeXmacs/Mogan v1.1.x, and the style files may still using those fonts. It might be the reason of the lag.

Here is the list of fonts:

  • Libertine
  • Fira
  • texgyre
  • Stix

If your document are using these fonts, it may cause the lag because when Mogan can not find the font, it will try hard to find it. Before when it try hard, it will scan all paths for truetype/opentype, and I’ve just optimized it in v1.2.1. But it will still scan all paths for TeX fonts.

If you can provide more clues on the lag, I will fix it in v1.2.2.

I’m only using the default fonts that come with TeXmacs.

That’s not a fair opinion. I’ve made many improvements on the UI and keyboard shortcut.

For performance issue, it depends on the document. Let me made a performance comparision later on upload it to Youtube. And you are using ArchLinux, I don’t know how you built Mogan Research v1.2.1. Welcome to write a github issue to https://github.com/XmacsLabs/mogan/issues

This pr fixed the slow system call in Mogan Research v1.2.0/v1.2.1/v1.2.2.

And the slow system call is the main reason why Mogan Research is slower in some of the use cases.

1 Like

The performance has been improved a lot in v1.2.3-beta

https://github.com/XmacsLabs/mogan/releases/tag/v1.2.3-beta

Try downloading https://github.com/XmacsLabs/interactive-sicp/blob/main/sicp.tm and open the first two chapter of SICP. And compare the performance of GNU TeXmacs and Mogan Research.