Skip to content

Conversation

@seungsoo47
Copy link
Contributor

This PR introduces the following changes to reduce the loading time of the first API call.

  • Refactored symgen to generate separate symbol files for each target library.
  • Refactored LookupProvider to enable dynamic symbol registration via registerSymbols method.

Tizen_interop api's loading time was improved by approximately 88% after this change was applied.

API Before (ms) After (ms) Gap
tizen.app_get_name 9.554 1.127 -8.427 (88%)

@seungsoo47 seungsoo47 changed the title Refactor symbol generation and LookupProvider registration logic [WIP] Refactor symbol generation and LookupProvider registration logic Jan 13, 2026
@JSUYA
Copy link
Member

JSUYA commented Jan 13, 2026

Before going with this pr, I recommend discussing the structure and goals(?).
All code generation for tizen_interop should be automated(using script). Since we don't have a separate guide for DART API (headers ? imports?), we need to discuss how this will be handled. We also need to check if there are any dependencies between generated dart files.

@seungsoo47
Copy link
Contributor Author

seungsoo47 commented Jan 13, 2026

Before going with this pr, I recommend discussing the structure and goals(?). All code generation for tizen_interop should be automated(using script). Since we don't have a separate guide for DART API (headers ? imports?), we need to discuss how this will be handled. We also need to check if there are any dependencies between generated dart files.

Thank you for your comments.
Yes, we need to discuss more for this PR.
And, I think we need to create documents for the DART APIs like Tizen native APIs documents. As you know, we can update the api documents on the SamsungTizenOS site.
Also, I expect there are not any dependencies by this PR changes because this PR only separates tizen symbols.

@seungsoo47 seungsoo47 changed the title [WIP] Refactor symbol generation and LookupProvider registration logic Refactor symbol generation and LookupProvider registration logic Jan 13, 2026
@seungsoo47 seungsoo47 changed the title Refactor symbol generation and LookupProvider registration logic [WIP] Refactor symbol generation and LookupProvider registration logic Jan 14, 2026
@seungsoo47 seungsoo47 force-pushed the dev.tizen_interop.structure_improvement.260112 branch from 0191ffe to 69cd3c1 Compare January 14, 2026 10:40
@seungsoo47 seungsoo47 force-pushed the dev.tizen_interop.structure_improvement.260112 branch from 5c24a05 to 86f9457 Compare January 28, 2026 05:00
Copy link
Member

@JSUYA JSUYA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think there's a need to separate symbols.dart anymore.
I think a single generated_symbols.dart file, like before, should be sufficient.

And since the ultimate key point is the _lookupProvider.registerSymbols() call, it seems more efficient to internally manage the list of symbols registered rather than generating all tizen{Modulename} instances. Then, it seems like calls can be made in the existing tizen.{api} format.

What do you think?

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

Successfully merging this pull request may close these issues.

2 participants