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

64-bit Tines As Slow As 32-bit Hnb? #20

Open
grokk opened this issue Jun 18, 2018 · 4 comments
Open

64-bit Tines As Slow As 32-bit Hnb? #20

grokk opened this issue Jun 18, 2018 · 4 comments

Comments

@grokk
Copy link

grokk commented Jun 18, 2018

I finally got around to compiling tines on Debian Buster, after years of putting it off. Large files in hnb are simply just achingly slow to interact with. However, I see little improvement with using tines in the same large .hnb/.xml files. Is there anything I can do about that -- aside form splitting up the files..?

@larrykollar
Copy link
Owner

I haven't put any work into improving performance. How large of a file are we talking about (# of nodes as well as file size)? What vintage hardware? The default .tines file is about 59K and 622 nodes; my personal one is 97K and 1432 nodes. I regularly work with files in that size range on hardware ranging from 3-10 years old, and haven't noticed it being terribly slow.

Can you do this for me?

ls -l bigfile.hnb
xmllint —format bigfile.hnb | grep -c '<node'

If you have any experience with profiling, maybe we can find a performance bottleneck and work on it.

On the off-chance that it's a matter of the menus being slow to respond, find the escdelay setting in your .tinesrc and setting it to a lower value, like this:

escdelay 100

Tines pauses when receiving a single ESC to make sure there's not an ANSI sequence following. You might want to experiment with even smaller values (the units are milliseconds) unless you're using a terminal with a 1200 bps serial connection. If you hit an arrow key and get the menus, you know you've set it too low.

@grokk
Copy link
Author

grokk commented Jun 25, 2018

'I haven't put any work into improving performance.'

Oh. I kinda assumed making the executable 64-bit almost as a matter-of-course involved the introduction of efficient paging of large files being edited... oh well. But the problem is the file size. Nothing else.
:/

...and the big ones are HUGE files, indeed: between 5-25 MB, some.

NB: I use a LOT of 'formatting'/presentation -- which greatly pads these files... but frankly: I want to keep things that way for now.
And I'd rather leave it at that, here.
:)

But for my largest hnb file for example, as you asked:
From ls -l: ... 25651377 ... foo.xml (but hnb format)
From xmllint: 550498 nodes..!!??
:D

@grokk
Copy link
Author

grokk commented Aug 10, 2018

Right now, FYI (while anticipating my moving from using the hnb/xml to opml format; and while use tines in place of hnb): I am splitting my files up (inconvenient, less productive and more work); AND I am also systematically stripping out certain of the 'padding' I use (to make these files more AFAIC readable) inside each file.

It's a stop-gap.
:/

@grokk
Copy link
Author

grokk commented Aug 10, 2018

It is also my (unscientific, unproven) perception that tines might just be a tad slower with large files, than hnb was/is (in Debian). But I could be hallucinating that.

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