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

"ini_read_value" performance issue #2850

Closed
zydjys opened this issue Mar 17, 2019 · 1 comment
Closed

"ini_read_value" performance issue #2850

zydjys opened this issue Mar 17, 2019 · 1 comment
Projects

Comments

@zydjys
Copy link

zydjys commented Mar 17, 2019

Bug Report

[Summary]
"ini_read_value" has performance problem when parser smartDeviceLink.ini file

Reproduction Steps

[step1]
Execute smartDeviceLinkCore program with strace under embedded linux system;
[step2]
Analysis strace log

  • found many file operation unit(open->mmap2->read->close) with smartDeviceLink.ini
    [step3]review source code ini_file.cc profile.cc
  • found ini_read_value will be called many many time
  • ini_read_value will call std io fopen->fgets->fclose
  • file operation unit is caused by function ini_read_value
Expected Behavior
  • the frequencely file operation unit will cause performance issue under embedded linux system if the cpu & volatile memory io is not very powerful.
  • when parse smartDeviceLink.ini file : open ini file->and parse all the tag to Profile Class ->close the file
  • smartDeviceLinkCore get config tag from Profile class directly;
OS & Version Information
  • OS/Version: [all]
  • SDL Core Version: [all]
  • Testing Against: [sdl_core]
Test Case, Sample Code, and / or Example App

see "ini_read_value" in ini_file.cc

@iCollin
Copy link
Collaborator

iCollin commented Apr 26, 2021

Closed via #3688

@iCollin iCollin closed this as completed Apr 26, 2021
@theresalech theresalech added this to Completed Bug Fixes/ Enhancements in 8.0.0 Apr 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
8.0.0
Completed Bug Fixes / Enhancements
Development

No branches or pull requests

3 participants