IT Blog

Performance Optimisation of a programs and software is the process modifying a software system to make it work more efficiently and execute more rapidly.

News & Events Web Services

Performance Optimisation in Software Development

Performance Optimisation of a programs and software is the process modifying a software system to make it work more efficiently and execute more rapidly. It is key in having an efficiently functional application and is done by monitoring and analysing the performance of an application and identifying ways to improve it.

Performance optimisation generally focuses on improving just one or two aspect of the system’s performance, e.g execution time, memory usage, disk space, bandwidth etc. This will usually require a trade-off where one aspect is implemented at the expense of others. For example increasing the size of cache improves run-time performance, but also increases the memory consumption.

Levels of Optimisation

Design Level

  • The design of the system may be optimised to make best use of the available resources, given goals, and expected load.
  • The architectural design of a system plays a major role and overwhelmingly affects the system’s performance.
  • For example a system that is network latency can be optimised to minimize network requests, ideally making a single request rather than multiple requests.

Algorithms and Data Structures

  • The algorithm and data structures plays a very key role and is crucial to the system’s performance.
  • To ensure a system is optimised, we should make sure the algorithms are constant O(1), logarithmic O(log n), linear O(n), or log-linear O(n log n).
  • Quadratic complexity algorithms O(n2) fail to scale
  • Abstract data types are more efficient for system optimisations

Source code level

  • On implementation of algorithms, the source code choices are also quite crucial on system optimisation.
  • Build level

  • Disabling un-required software features during the build process can effective in optimising for specific processor models
  • NB: Optimisation often reduces readability and introduces codes or technologies that are used to improve performance, this may complicate the systems making them harder to maintain and debug, hence it is advised to perform optimisation at the end of the development stage.

    Client-side and server-side Optimisation

    Applications are a mixture of server-side and client-side code. Your application can have performance problems on either side and both need to be optimised.

    Client-side relates to how the performance is seen on the web browser or the user interface. This includes initial page load time, downloading all of the resources, JavaScript that runs in the browser, images load time etc.

    Server-side relates to how long it takes to run on the server to execute requests. Optimising the performance on the server generally revolves around optimising things like database queries and other application dependencies.

    Client-side Performance Optimization

    Below are some ways to optimize performance on the client side

    1. Caching and Content Delivery Networks
    • Content delivery networks are a smart way to handle static files like JavaScript, CSS, and image files which do not change.
    • Examples of cdns; cloudflare, Amazon AWS, MaxCDN, Fastly e.t.c

    2. Bundle and Minification

    • Bundling files together and producing fewer files improves performance
    • Minifying the files and removing all unnecessary characters e.g white spaces also improves performance

    3. Optimizing image usage

    • Most images can be optimized and made smaller
    • Also if you are using several small icons it is better to just use Icon fonts eg. font awesome.

    4. Removing duplicate code JavaScript and CSS

    • Removing the duplicate code reduces the size of the files hence better performance.

    5. Using a minimalistic styling Framework

    • This helps with the styling aspect and as the styling framework has already been optimized and minified for better performance it should be effective in keeping the performance of your system optimal.

    Leave a Reply

    Your email address will not be published.

    WordPress Image Lightbox
    WeCreativez WhatsApp Support
    Our customer support team is here to answer your questions. Ask us anything!