Performance Bounty

91 views
Skip to first unread message

Graham Harris

unread,
Dec 16, 2016, 4:32:28 AM12/16/16
to wikidpad-devel
I'm a diehard WikidPad user, I love it, love it, love it. WikidPad2_3beta13_01 on Linux (at home) and Windows (at work).

I hit productivity walls because WikidPad takes so damn long to parse pages I open, with ^O or following a [wikilink]. WikidPad is not usually unresponsive at these times, which is a great credit to the developers, but until I can see what words in a new page already lead to other topics, I can't compose my thoughts about creating new topics vs adding to existing

I have a couple of original_sqlite wikis, the largest about 6200 topics and 12 MB including the index .sli file (but not the full text indexes; whoa, that's another 35 MB).

Python has a problem with multiple threads and I have fixed that by constraining it to a single CPU and thread. That produces a significant performance gain, which I suspect will affect any modern system. Unless you fix this, WikidPad performs slower on any multi-thread system than any single-thread system, so I reckon it should be integrated into the WikidPad install images...

At home I have an AMD FX-4100 with 3600 MHz per core; at work a lower MHz but a more recent Intel architecture. Disk access doesn't seem to be a problem; at home and at work I have SSD drives, and neither suggests that disk access or free RAM limits performance.

I can't help thinking that maybe the parsing algorithms could use some optimisation. Even a single thread on a modern CPU should not take so long to parse a couple of kb of text against a SQLite index of defined wikiwords.

I am not a Python developer, but I value WikidPad mightliy. Is there a Python developer out there who can take on a challenge to significantly improve WikidPad performance in that key area. I will offer a 'bug bounty' or performance bounty- who will take it on and how large does the bounty need to be?

 Best,
Graham

Bjorn

unread,
Dec 16, 2016, 9:58:43 AM12/16/16
to wikidpad-devel
I have had the same feeling about wp sometimes.

The parser in wikidpad is based on pyparsing which is nice, but not known to be very fast.
This might be the performance bottle neck at the moment, but I don't know for sure.

I think pyparsing is pure python so in theory, some or all of the code could be turned into c using cython for better performance.
I dont know how well this would work in reality though.

/bjorn

DJNavas

unread,
Dec 18, 2016, 1:33:15 AM12/18/16
to wikidpad-devel
I turn off "spell check while type" and improved WikidPad speed.

graham

unread,
Dec 18, 2016, 1:55:42 AM12/18/16
to wikidpa...@googlegroups.com

Thanks Denis,

There is no spell check on Linux, so I guess I don't have it.

Where in the user interface do you turn it on or off?

Cheers
Graham
--
You received this message because you are subscribed to a topic in the Google Groups "wikidpad-devel" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/wikidpad-devel/13w4nwXp4xo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to wikidpad-deve...@googlegroups.com.
To post to this group, send email to wikidpa...@googlegroups.com.
Visit this group at https://groups.google.com/group/wikidpad-devel.
For more options, visit https://groups.google.com/d/optout.

DJNavas

unread,
Dec 21, 2016, 6:38:46 AM12/21/16
to wikidpad-devel
The spellcheck is an aditional application that its available in WikidPad web site.  The menu entry is 'Edit -- Spell check while type'.

Graham Harris

unread,
Dec 21, 2016, 2:53:37 PM12/21/16
to wikidpa...@googlegroups.com
Thanks Denis.

That spell checker appears to be Windows only.
>> wikidpad-deve...@googlegroups.com <javascript:>. To post to this group,
>> send email to wikidpa...@googlegroups.com <javascript:>.
>> Visit this group at https://groups.google.com/group/wikidpad-devel.
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>>
>>
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "wikidpad-devel" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/wikidpad-devel/13w4nwXp4xo/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> wikidpad-deve...@googlegroups.com. To post to this group, send
> email to wikidpa...@googlegroups.com. Visit this group at
> https://groups.google.com/group/wikidpad-devel.
> For more options, visit https://groups.google.com/d/optout.
>
>


--
Best Regards
Graham

New Zealand: GMT +12 hours
Phone +64 9 445 2132
Mobile +64 27 275 4396

Graham Harris

unread,
Jan 28, 2018, 11:40:03 PM1/28/18
to wikidpad-devel
Well, I just found in the Help wiki how to enable the spell checker on Linux.

Now all I need to work out is how to change the regex TextWordRE in WikidPadParser.py so it doesn't flag words with numbers, or flag words with a trailing apostrophe' as different from the work without the apostrophe'. And ideally, make it case-insensitive too.
To unsubscribe from this group and all its topics, send an email to wikidpad-devel+unsubscribe@googlegroups.com.
To post to this group, send email to wikidpad-devel@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages