Skip to content

Optimize Your Code

This blog is about optimizing software and application performance tuning

Archive

Tag: performance

Proof of concept will lead to a quality solution

Many projects will require a Proof of Concept as a tool that in some cases, will determine the ultimate fate of the project as a whole. While the POC can be useful and sometimes indispensable, it seldom should be seen as a sole judgment of the final proposed product. In other words, it has limitations and can only provide information that must be considered in combination with other factors.

The chief purpose of a POC should be to gain insight into the basic performance aspects and characteristics of a specific software concept. This should be looked at as one of several bits of information that can serve as a gauge for the overall feasibility of the proposed product. It is important to keep expectations of a Proof of Concept in line with what its true function is.

In the most general sense, it is a prototype that represents the capabilities or possibilities of a final product. In a manner of speaking, it is a scale model that attempts to prove that a theory can be transformed into a reality, but it should not be expected to have the same complete functionality. It does not have to perform the task, but should be only required to prove that the performance objectives are practical.

continue reading…

  • Share/Bookmark
The DRY, or Don’t Repeat Yourself, principle is a software design concept that stresses the importance of not duplicating code. Besides the fact that

DRY - Don't repeat yourself.

duplication is waste, there are other maintainability and performance benefits to be gained by avoiding unnecessary redundancies.

Code repetition can be tempting, mainly because it sometimes appears to be the easiest way out. However, a copy and paste programming approach is a sure-fire way to create a tangled mess that can bring recurring nightmares. Every repetition brings with it the possibility of reducing ability for efficient adaptation and change. Additionally, changes in one part of the architecture can necessitate multiple changes in others as well.

Whether we like it or not, maintenance is central to all programming activities to some degree. It begins as soon as the first few lines of code are written and will likely be a factor for the lifetime of the product. Keeping a design clean and understandable can mean the difference between a system that excels and performs, or one that is mediocre and problematic.

continue reading…

  • Share/Bookmark

Do you see the dreaded ‘OutOfMemoryError’ while running your Java application? Does it crash every now and then? Does it have memory leaks? Is your

Memory leaks

application slowing down the operating system significantly? Is your application taking forever to execute? Developers are often left pondering over these questions while writing Java applications. So, what are memory leaks? What causes them? How can you fix them in your Java applications?

In the first post of this series, we walk you through the relevant details to understand memory leaks in Java. The later posts of this series will focus on how to detect and fix memory leaks in Java applications.

What are memory leaks?

continue reading…

  • Share/Bookmark
Excessive hardware for your software problem!?

Excessive hardware for your software problem!?

The first thought that crosses the minds of many when they experience performance problems, is that their machine lacks enough power for the job at hand. While this may be true in a handful of cases, the true culprit is likely to be in the application, rather than the hardware. A common initial reaction is to blame hardware for being too weak to perform its tasks. In reality, the cause of the difficulty might easily lie in problematic software that is eating more than its fair share of the pie.

Sadly, more than a few people are sucked into the idea of piling on more muscle in the form of memory, CPU upgrades and other new hardware solutions. This can be an expensive way to treat a symptom rather than cure the disease. Some IT managers are often too quick to jump to the conclusion that the system is not working hard enough, when in reality, the applications are simply asking it to do too much.

In most instances, optimization should be considered as a first line of defense against lagging performance issues. Very often, optimizing will clean up inefficiencies such as software interfaces and codes at much lower costs than equipment replacements. A single factor like an improper pre-compiled code or a loop unrolling issue might be the root cause of the troubles. The best and usually cheapest solution is to repair the real problem rather than covering it up with a stack of new devices.

continue reading…

  • Share/Bookmark
Breaking the performance barriers.

Breaking the performance barriers.

Are you looking to optimize your software? Have you conducted a performance tuning exercise on your source code before its deployed live? These are common questions in the software development industry and it’s unfortunate that many developers and organizations treat Software Optimization and Performance Tuning as synonyms.

I’ve seen these terms being used in place of each other on several websites be it tutorials or job descriptions. The truth is that software optimization and performance tuning are not the same.

Software Optimization is a much broader term than what most people believe it to be.  Optimization encompasses a wide variety of techniques, one of which is Performance Tuning. Let’s delve deeper into these concepts to understand how they differ from each other. continue reading…

  • Share/Bookmark
Before any type of product or service can be recognized as having proper and adequate quality, specific standards must be put into place. Without these definitions of characteristic requirements, it is impossible to judge the good from the bad. Only by employing exact measurements of performance is it possible to determine whether or not maximum capability is being achieved or maintained. As software development and usage becomes increasingly important in nearly every aspect of our daily lives, the application of software metrics becomes more crucial.

Increased productivity and reliability!

Among its many benefits, software metrics could be considered to be the single most important tool in software process improvement. Metrics can indicate to what extent desired characteristic are present and which ones may be deficient. Efficiently improving factors such as reliability, volatility, errors and failure rates depends entirely on being able to measure all existing values.

continue reading…

  • Share/Bookmark

During the process of development, the option to outsource certain tasks is, at the very least, worth some serious consideration. Using an external company to aid with some of the common performance tuning tasks can not only save time and money, but could actually provide a better overall end result and improved maintainability.

Collaboration

In most cases, the decision to turn to an external source for tasks relating to code optimization, is considered to be a last resort. In fact, regularly utilizing outside resources is a strategy used by successful companies in a variety of industries. Software development is no exception when it comes to being able to benefit from supplements to in-house procedures.

continue reading…

  • Share/Bookmark

Optimize Your Code is Digg proof thanks to caching by WP Super Cache