[sword-devel] InstallMgr::getModuleStatus / Performance optimization possible?
Tobias Klein
contact at tklein.info
Thu Nov 3 15:05:23 EDT 2022
Thank you, Troy!
I'd be glad to test any changes you come up with!
Best regards,
Tobias
On 11/3/22 5:57 PM, Troy A. Griffitts wrote:
>
> Dear Tobias,
>
> I can have a look at optimizing getModuleStatus. I can certainly see
> that only checking locally installed modules might be a speed
> improvement, but I suspect most of the time is loading all the .conf
> files for each module, and that is done when constructing the SWMgr
> (remote and local). SWORD previously worked with a single
> modules.conf file where the section was appended each time a module
> was loaded. It still will work in this manner. I might try dumping
> all the .conf files into a single cache.conf file and using that for
> reading the info of a remote repository-- which can include thousands
> of individual .conf files. We can see if that speeds up this operation.
>
> On 10/30/22 08:49, Tobias Klein wrote:
>>
>> Hi Troy,
>>
>> When integrating the module update functionality in Ezra Bible App, I
>> noticed a performance issue in the function InstallMgr::getModuleStatus.
>>
>> On my laptop, it takes almost two seconds to run this against all
>> repositories from the master repo list. On my slower surface tablet,
>> it takes even longer and I haven’t tested it on my even slower
>> Android devices, yet. This generates a bit of an issue in my
>> JavaScript based application (longer interrupts of the JavaScript
>> event loop lead to some freezing in the UI).
>>
>> Considering the parameters constSWMgr &base, constSWMgr &other, I saw
>> that the function loops through all modules within other. If one just
>> wants to see which local modules are outdated, it would be enough to
>> go through the ones that are also present within base, right? Could
>> that be a way of optimizing the performance?
>>
>> Best regards,
>> Tobias
>>
>>
>> _______________________________________________
>> sword-devel mailing list:sword-devel at crosswire.org
>> http://crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://crosswire.org/pipermail/sword-devel/attachments/20221103/ecd7ab10/attachment.htm>
More information about the sword-devel
mailing list