Skip to content

Improve performances while getting Item properties in CustomTable.parseItemIdToCells #109

Closed
@andrealuciano71

Description

@andrealuciano71

Hi, I was testing performances of Filtering Table (filteringtable-0.9.15.v7) in combination with the Vaadin JPA Container.
I know JPA Container is not a good choice, but this test helped me to find a possible improvement in the add-on's code.
In CustomTable.java method parseItemIdToCells at line 2276, there is a loop on columns which calls getContainerProperty a lot of times:

for (int j = 0; j < cols; j++) {
...
  p = getContainerProperty(id, colids[j]);
...

This performs very badly with JPA Container, even if the Entity cached provider is employed.

Instead, if the enity item is gotten before the loop such as in the following example, then the performances are up to 300% better in my test:

Item item=getItem(id);
for (int j = 0; j < cols; j++) {
...
  // p = getContainerProperty(id, colids[j]);
  p = item.getItemProperty(colids[j]);
...

Regards,
Source.zip

Andrea

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions