Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to improve performance #11

Closed
traumschule opened this issue Nov 28, 2017 · 5 comments
Closed

How to improve performance #11

traumschule opened this issue Nov 28, 2017 · 5 comments

Comments

@traumschule
Copy link

Expected behavior

It is a nice feature to turn already entered text into a link when a new note is created. Currently this happens, when new text is entered. Downside of this is that it takes time to re-render the note on every new character.

As this feature is not time critical it should not be triggered when text is inserted, but some time after a user stopped typing. The expected behavior is to flush a mindburst into the text area without interruption and with a direct feedback about typed text to possibly correct it immediately. After that users tend to look at the text for some time to think, or to switch the window. This is the best time to rerender the text area.

Observation

For notes with many internal links inserting text is very slow. It takes time for every insertion to appear in the text field just as long as it takes to open this note. This is even when the text typed does not contain a (potential) link.

This is related to the algorithm that checks it for possible links.

Currently tomboy-ng keep the note titles in memory. This list is updated when a user saves or deletes a note. When does tomboy-ng save? Automatically every X minutes?
The problem is that with KControls text can't be marked as a link directly without deleting the text and then inserting a link (replace function). This check happens for the immediate surrounding of the curser. What takes time is the replacement as the whole note text is rerender. Tomboy 1.15.8 shows the same effect that notes with many links take a lot of time to focus a window because in that moment it gets rendered again.

This might be an issue limited to 32bit systems.

@traumschule
Copy link
Author

I just tested a 32bit version in linux without debug symbols/heaptr and it was smooth as Tomboy NG 1.15.8. I leave it open to eventually discuss performance.

@traumschule traumschule changed the title bad performance inserting text with 'internal links' enabled How to improve performance Nov 29, 2017
@davidbannon
Copy link
Member

OK, that makes sense then. The debug symbols and particularly heaptr really slow it down, heaptr records every memory allocation and then tests it to see if its been handed back, very labour intensive.

@davidbannon
Copy link
Member

My own tests on an single core atom powered netbook with one gig ram is that performance is not really sufficient. But I stopped using this box a few years ago because other things were so slow, browsing the ABC News site was painful.

@davidbannon
Copy link
Member

I think that, for now, performance is adequate. While we will have to watch feature creep and watch for opportunities to help people on low power hardware, this is not, now, an issue.
So, closing issue.

@davidbannon
Copy link
Member

But remembering to press the "close and Comment" button ....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants