Performance C, C++, Perl, and Applicability to C#

In C, C++, and Perl we use @Include.  It’s per file, much like VB.NET’s Imports and C#’s using statements. If you’re a kitchen-sink programmer, loving to hav all of your tools readily available as you type, as opposed to figuring out when you need it and referencing libraries as needed (that’s a lot to keep straight in one’s head…), then you may have a bushel of libraries either for your whole team or personal ones that you include in every project you create. The down side of this is the overhead for your application. It has to carry around the referenced libraries. It has to crunch through them in order to get to a referenced namespace or package. The thought with what is referenced here is, we may be able to have that lazy, at-my-fingertips referenced libraries and still manage our performance before the application goes to production by having the start-up or main handle the circumstance when ”it” isn’t used, don’t reference it at compile time.

There are some of us that have experience in mainframe environments and may be able to consider and provide examples of similar scenarios implemented in that environment. Your feedback on this potential implementation for an improvemen…

There’s a link at the bottom that includes a section on using a
statement at start_up that determines whether a library needs to be
included or not in interpretation (in web applications that’s the web
server [IIS, Kestrel, Apache, Tom Cat, Web Sphere, etc.]). Excluding the
libraries in this way can improve performance exponentially. One might
say, if it doesn’t need to be included, why is it included with the
compile? Framework and consistency where cookie-cutter application
solution creation is used even though cookie cutter application solution
design is not.

As we know, back-in-the-day, resources were severely limited. Today,
with the advent of Internet of Things (IoT defined as high-speed
response time with logic performed at the edges of the network on
routers, switches, and roaming servers closer to a client) and Raspberry
Pi, we’re back to reduced resources on a miniature operating system. In
the case of Raspberry Pi, the whole of its operating system and code can
fit on a standard-sized (much less than a terabyte) thumb drive.

When surveyed, the customers of our custom applications have said that
their three top concerns that were prohibitive in using  our services
1) Time-to-go-live (how long it took for us to create an application)
2) Our software life cycle issues relating to limitations of internal
resource sharing and lacking in relatableness when considering other
modern applications available through a third party
3) Performance (generally defined as how fast a page loads and how
quickly a command is processed)
We’re already addressing 1 and 2.

In our environment, we have almost limitless resources. Our SAN drives
are really generous for our servers and provide us with real hard drive
space and virtual RAM to our hearts content. Even though space is not an
issue, where we would want to focus, therefore, is on performance.

If we move our thoughts from limited resources to overall blazing
performance that we all hope our applications will achieve, we get to a
place where we don’t want
1) excessive coding that the compiler and interpreter have to churn
2) unnecessary coding in libraries, and
3) unnecessary libraries

Considering these things, there’s a section on the second page (p. 91)
of the pdf linked below that talks about a statement at the top of main
that checks for a method internally and externally. If it doesn’t find
it, it doesn’t try to interpret an included library that might contain
unnecessary code or a library that, as a whole, is unnecessary. I’m not
exactly sure how we would apply this except at start_up and really
intentionally, but it’s a thought for future performance enhancement
potential where we want the process of creating a solution to be
consistent but where we know the shared libraries may or may not be
wholly necessary, but we want them to be available if needed…

Summary: How a C program is compiled in terms of stand-alone versus
dependent on other libraries

About Ann Townsend

Ann is a published author, speaker, and LGBTQ youth advocate; and has been a professional web application developer since 1997. She holds a medical A.S.; a B.S. in Management with an Emphasis on Computer Science, Minor in Psychology; and a M.S., MBA with an Emphasis on Management of Information Systems. She is the recipient of multiple awards of recognition and is currently pursuing her PhD in Media Psychology. She is currently a senior lead application developer in municipal government and the CTO of SSCodeWorks, LLC, developing applications for government synergy and geo-services apps for serious and recreational location-based mineral propecting. Prior to working for a municipal government agency, she was the majority owner of two small businesses, including Gold Core Networks (GCN), a general partnership. Until 2013, GCN provided internet web hosting and web application development, servicing the Central Valley and multiple U.S. corporations. GCN contracts included a two year contract with the fourth largest school district in California, assisting in the implementation and augmentation of their accounting web application. She was also CEO and chief developer for Midas Accounting Packages, Inc., a niche-market, diverse, ahead-of-its-time tech start up with the primary product of an adaptable, multi-industry accounting web application. In 2007, Ann was hired by a municipal government agency as one of two implementation and 24/7 support personnel for its accounting web application and developer of multiple interfaces between disparate financial applications and systems across 13 departments. Since 2012, Ann has been the lead custom mobile and web application developer. With her current employer, she has developed and/or maintains 13 custom, in-production mobile and web applications, including an application to digitize, collect, track, and report on property base-year values; and a budget application to digitize, collect, track, and transparently report, enumerate, and document budgeted IT charges for all departments. A recent project was for human resources from position request by a department through employee separation.