Project

General

Profile

Actions

bug #10281

closed

TaxEditor extremely slow when using another language as default language

Added by Andreas Müller 12 months ago. Updated 12 months ago.

Status:
Closed
Priority:
New
Category:
taxeditor
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
Severity:
critical
Found in Version:

Description

e.g. when selectin Spanisch as "Term" language.

The reason for this seems to be call of Preferences.getGlobalLanguage() .

It calls

        if (CdmUtils.isBlank(languageUuidString)) {
            return Language.getDefaultLanguage();
        }

        UUID languageUuid = UUID.fromString(languageUuidString);
        return (Language) CdmStore.getService(ITermService.class).load(
                languageUuid);

So every call to getGlobalLanguage() includes a service layer call instead of caching the language somewhere.

Actions #1

Updated by Andreas Müller 12 months ago

After fixing this we should also check, why the term tree editor is using this method so often. Why is it used e.g. when saving the tree?

Actions #2

Updated by Andreas Müller 12 months ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 70
Actions #3

Updated by Andreas Müller 12 months ago

  • Tags changed from mexico to mexico, performance

This should be fixed. Please review.

Note: there is a lot more potential for performance improvement related to term loading. E.g. when opening the preferences page for the "term" (global) language a service call for each Representation is send to the server. This is because AbstractTermDto is not a real DTO but includes Set. While loading the languages each collection (annotations, markers) in the representations is initialized separately. This includes >1000 calls like

2023-03-22T13:20:03.38: https://test.e-taxonomy.eu:443/cdmserver/rem_conf_am/remoting/common.service#initializeCollection [39.0 ms]

So we should at least use an appropriate property path there. Even better we should not use a model class in AbstractTermDto at all.

Can you please open a new ticket for the performance of the global language preference page if it does not yet exist?

Actions #4

Updated by Katja Luther 12 months ago

  • Status changed from Resolved to Closed
  • Assignee changed from Katja Luther to Andreas Müller
  • % Done changed from 70 to 100

It works as expected.

Actions

Also available in: Atom PDF