Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Does size affect performance when the project does not use DLLs(except for libraries)?

Since I don’t have computers that have different specs, I want to ask this so any experienced one may help me having answer.

I’m about to finish my project(it’s written in c++) and my software does some AI stuff(that may be a huge task
for hardware depending on the user) such as face detecting and recognizing, OCR, runtime detection model load ability, DVR/NVR playback and so on…

Most of the code(except libraries) are inside my executable project(it consists of source and headers). And there are some huge header files that are included almost over 170 (source)files.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

The aim is to use this software on computers with low system specifications(Even with Raspberry pi).

I have been working on this project for over 1 year (almost full time). And I don’t want to waste time with any unnecessary thing that even implementing them isn’t worth it in my case.
So, if I’d keep it this way(without having any additional DLLs), would it affect either performance of the software or hardware as long as I don’t use so many threads at once?

Additionally, if we do not count the libraries, the number of code lines I wrote is around 150,000. The software is not totally platform-specific, the current aim is Windows and Linux(Linux tests still remain).

If I missed anything to mention, let me know.

>Solution :

No. DLL’s causes more delay in loading than a statically linked libraries. Because the operating system loader needs to open the dll and link it individually which affects time. Calling DLL functions is not slow because they are pointed in the import address table of your executable image, the loader then modify these pointers to match the address of symbols imported in the dll.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading