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

Very looong time to read/write #25

Open
elconfa opened this issue Dec 10, 2021 · 7 comments
Open

Very looong time to read/write #25

elconfa opened this issue Dec 10, 2021 · 7 comments
Assignees
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@elconfa
Copy link

elconfa commented Dec 10, 2021

Hello, I'm using a CX5130 PLC and my program use about 8500 persistent vars.
I have a big problem reading/writing persistent vars: It takes a lot of time (about 45minutes using v.1.2.16 or 35 minutes using v.1.1.51).
Attached is the file of vars.
Backup_2021-12-09-172159 new 1.2.16.zip

What do you think about this problem?

update: using v.1.0.27 installed in PLC it takes 8 minutes to read vars and 1,5 minutes to write them. (15.000 vars)

@fbarresi fbarresi self-assigned this Dec 13, 2021
@fbarresi fbarresi added enhancement New feature or request good first issue Good for newcomers labels Dec 13, 2021
@fbarresi
Copy link
Owner

Hi!

I can reproduce this very annoying performance issue. Sorry for that and thank you for reporting the problem here.
The search function for persistent symbols sadly has very bad performance, it can be optimized and made parallel.
The performance difference between version 1.0 and 1.1 regards the search depth. The version 1.0 was just able to find global persistent variables, 1.1 looks for persistent variables or even fields in every depth.

I will give a look and will try to optimize the search procedure and make an option for looking just for global variables.

Best regards,
FB

@elconfa elconfa changed the title Very looong time tu read/write Very looong time to read/write May 2, 2022
@Pizzardi-Team
Copy link

Hi, I've tested the last version (1.2.17) vs the old version (1.0.27).
The new version needs 6 minutes and 30 seconds, while the old version needs only 22 seconds.
This is only to remember this issue.
Thank you for this project

@fbarresi
Copy link
Owner

fbarresi commented Mar 6, 2023

Hi!
Wow, this is impressive.
Did you already tried to use the "global only" flag?
Would you be able to share the variables (even obfuscated) or the logfile of a reading with the newest version?

In order to activate the logfile just put the log.config near to the exe.

Thanks.

@Pizzardi-Team
Copy link

I've used the "global only" flag.
This is the log.config
log.zip
Hope you can find the problem.
Thanks

@Pizzardi-Team
Copy link

json.zip
Here the files created

@fbarresi
Copy link
Owner

fbarresi commented Mar 7, 2023

Thanks.
You missed out the log folder and you just sent the log.config. Can you please send the file logs\TwinCatAdsTool*.log ?

@Pizzardi-Team
Copy link

I downloaded the file log.conf and putted it in the same folder of TwinCatAdsTool_ReadyToRun_v1.2.17.exe
I launched the program, but no logs directory was created... I'm sorry

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

3 participants