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

Performance degradation in the flex function expandItem() #1227

Open
abharath23 opened this issue Aug 14, 2023 · 12 comments
Open

Performance degradation in the flex function expandItem() #1227

abharath23 opened this issue Aug 14, 2023 · 12 comments
Assignees

Comments

@abharath23
Copy link

Hello All,

We are seeing a performance degradation in the flex function expandItem() (compared to flash) when we iterate a list with a huge count (5000+ items). It takes around 30min for an array size of 5000 nodes and ~2min for 1000+ nodes. Hence browser shows the state as hanging but internally it is looping through the children (if we wait for a few minutes, it will get loaded for 1000+ nodes but not support 5000+ though). Internally it goes to list iteration and we believe that is causing this issue.

Can this be looked into for the next release as a priority?

Thanks,
Bharath

@greg-dove
Copy link
Contributor

greg-dove commented Aug 14, 2023 via email

@abharath23
Copy link
Author

abharath23 commented Aug 14, 2023 via email

@abharath23
Copy link
Author

Hi @greg-dove Have you been able to get to this ?

@greg-dove
Copy link
Contributor

Hi @greg-dove Have you been able to get to this ?

Sorry @abharath23 no I did not yet, I was unable to find enough free personal time during last 6 -7 weeks. I do have a couple of days on weekends during November that I have set aside to look into this, starting weekend of Nov 11.

@greg-dove greg-dove self-assigned this Nov 12, 2023
@greg-dove
Copy link
Contributor

fyi I have begun work on this, but I am still working on setting up to create a test app for reproducing the issue. I expect to be in a position to repro, test and work on the actual issue next weekend.

@Harbs
Copy link
Contributor

Harbs commented Nov 12, 2023 via email

@greg-dove
Copy link
Contributor

@Harbs this is in mx emulation code, in AdvancedDataGrid (and/or perhaps Tree). I am familiar with this problem in terms of having observed it myself in the past.
From memory, I don't believe it is related to native browser reflow, and is more to do with recursion or other excessive looping caused by emulation code being more 'immediate', instead of 'deferred' as it was in for Flex for layout etc. I have a bunch of mx emulation updates coming to a branch - hopefully next weekend, and will continue to work on it then.

@abharath23
Copy link
Author

@greg-dove Is there an update on this issue and tentative ETA to get the fix?

@greg-dove
Copy link
Contributor

@greg-dove Is there an update on this issue and tentative ETA to get the fix?

Hi Bharat, I haven't had very much free time to work on this in recent months, I'm afraid. I did send you an email in November suggesting I might get to it at the end of January, but things changed and I was unable to do so. I will spend a day on it this coming weekend. Then I have a couple more weekends from mid April that I can continue to look into it. I'm guessing it will take a couple of days once I can repro the issue. So best I could suggest at this point would be end of April. It would really help if your team can provide an isolated example with some mock data so I can avoid delays with trying to reproduce the issue, because I need to do that locally in order to work on it. I do remember the general nature of the issue, but being able to repro it is probably half the work, and your team is best placed to help with this. Or if that is not possible, please refresh my memory with a detailed description of the example (it's perhaps easier to send that directly to me). For example, I can't remember if it was XML data or some other non-xml hierarchical data (or if the issue is present with both). It sounds like 1000 child items would be a good test case. Also was this in Tree or AdvancedDataGrid (or both) ? thanks - Greg

@greg-dove
Copy link
Contributor

@abharath23 just a quick follow-up for now. I spent a day on this, integrating a large swathe of emulation component monkeypatches in preparation for working on this. There was more work to this than it would be easy to assume, because they needed to be split across different modules (swc lib projects) and also because they weren't all compatible as-is with the swf target by default. However I do now have that compiling, with the patches in place. I will need to do some more general testing of this local branch and then I will push changes to a remote branch. I'll try to get that done after hours during my week if I can, but can't guarantee that - it may not be until I start to work on the repro of the issue. Anyhow, my best case estimate is that (unless someone in your team can provide me with an isolated reproduction of the issue) I will probably need the weekend of April 13 to try to repro the issue you described, and then perhaps the following weekend to address it. I'll keep you posted.

@greg-dove
Copy link
Contributor

Quick update: It turned out that I have been unavailable the last couple of weekends, and the current weekend is likewise busy with other tasks. I have the weekend of May 4th/5th clear at this point and plan to work on this issue then. My first focus will be trying to repro the issue.

@greg-dove
Copy link
Contributor

quick update: I have made a start in recent weeks with a branch to prepare to work on this, but won't have time to continue to work on it until the weekend commencing June 2.

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

3 participants