cloudHQ

Helping your productivity, 1 click at a time.

  • LinkedIn
  • Facebook
  • Twitter
Log in Sign up
MENUMENU
  • Home
  • Featured Apps
    • Export Emails to Google Sheets
    • Export Emails to Google Docs
    • Gmail Email Templates
    • Save Emails To PDF
    • Multi Email Forward
    • Email Campaigns and Mail Merge
  • Productivity
    • Auto Follow Up for Gmail
    • AutoBCC for Gmail
    • Email Signature Generator
    • Free Email Tracker
    • Free HTML Editor for Gmail
    • Free Screencast recording for Gmail
    • Gmail Label and Email Sharing
    • Gmail Phone
    • Gmail Screenshot
    • Gmail SMS Text Alerts
  • Google Workspace
    • Gmail
    • Google Apps
    • Google Docs
    • Google Sheets
    • Google Slides
    • Google Drive
    • Google Shared Drives
    • Google Contacts
  • Categories
    • Artificial Intelligence
    • Cloud Computing
    • Dropbox
    • Education
    • Egnyte
    • Google Chrome Web Store
    • More ...

Performance Problems in Software products (part 1 of 4)

This is the first article in our four-part series talking about performance problems in software products.

Product design or high-level code?

The majority of performance problems are introduced at the highest layers of abstraction and in the design itself. Why does it seem to occur most often in the highest layers? Well, at higher levels of abstraction, there is less code which actually induces more work as it can take just a simple mistake to produce a large catastrophe in the program. And product design? Many designs produce more work or they don’t use parallelism. Even optimization to make the algorithm quicker will not help: the algorithm will have to be changed.

Designing for performance is a controversial area: some think you must always start by designing for performances, while others think that you should start with something that works and optimize later. Both of these approaches have merit but the correct balance must be found for intended performance. The high-level design *must* be done with performance in mind, because later on down the road, these poor high-design decisions will be impossible to change. When creating the high-level design, the process should be done with less work instead of quicker work that may have unintended consequences at a  later time. Also think about parallelism: many classical algorithms do not take parallelism into account and instead they focus mainly on efficiency. The lower layer changes should be first implemented with something easy to understand and maintain and then it should be optimized only if it is needed.

Causes of Performance Problems in Software products

The other important aspect of design for performance is to understand the environment of the system, product, module, and sub-module. Is the CPU the major environment impacting performance? How about cache, disk or other options?

Also, certain algorithms perform reasonably fast when specific conditions are met. For example, an algorithm might assume that a number of files is much less than the number of folders. These assumptions must be logged and if the conditions are not met, an error should be reported. A warning or error is a better solution in determining the source of a problem than a mysterious slowdown of an unknown cause.

It is important to experiment before making any decision regarding performance design: having realistic benchmarks to support these decisions is perfect but, in many cases, a small test program will be adequate to correctly perform the work.

Posted On: 2/6/2013By: Dizdar Senad

Filed Under: Cloud Computing Tagged With: cloud, development, performance, performance series, software

View AMP version

Footer

cloudHQ Backup, Migration & Sync
cloudHQ Backup, Migration & Sync product can sync, back up, copy, migrate, convert, and replicates data between different cloud service providers.
GET STARTED
cloudHQ Apps

We all hate email, but still, spend most of our day there. Because of that, we created over 60 Gmail productivity tools to help keep you be productive in the email.
All cloudHQ Apps
Contact Us
  • Contact
  • Terms Of Service
  • Privacy
  • Security
  • Table of Content
Subscribe
©2025 cloudHQ - All Rights Reserved.

Categories

  • Amazon S3 (5)
  • Artificial Intelligence (33)
  • Auto Follow Up for Gmail (1)
  • Cloud Computing (213)
  • cloudHQ Apps (433)
    • Attach and Embed YouTube Video in Gmail (2)
    • Auto Follow Up for Gmail (6)
    • auto gmail follow up (4)
    • AutoBCC for Gmail (8)
    • chatgpt for Gmail (13)
    • ChatGPT for Google (1)
    • ChatGPT Sidebar (2)
    • Convert Google Docs To Gmail Drafts (1)
    • Display Email Time by cloudHQ (1)
    • Email List Builder (20)
    • Email Privacy Protector: Is My Email Tracked? (4)
    • Email Reply Status (1)
    • Email Sender Icons (1)
    • Email Signature Generator (19)
    • Email Templates for Outlook and Gmail (11)
    • Email Tracking Blocker (2)
    • Email Zoom text Reader (2)
    • Export Emails to Google Docs (7)
    • Export Emails to Google Sheets (55)
    • Formatted Email Subject Lines (4)
    • Free Email Tracker (20)
    • Free HTML Editor for Gmail (3)
    • Free Mail Tracker (5)
    • Free Pause Gmail (4)
    • Free Screencast recording for Gmail (11)
    • Get My Receipts (1)
    • Gmail Auto Label (4)
    • Gmail Button (5)
    • Gmail Conversation Thread Reversal (1)
      • Gmail conversation view (1)
    • Gmail Copilot (8)
    • Gmail Email Links (3)
    • Gmail Email Templates (89)
    • Gmail Free Online Polls & Surveys by cloudHQ (4)
    • Gmail Inbox Zero (1)
    • Gmail Label and Email Sharing (25)
    • Gmail Message Preview (1)
    • Gmail Notes (3)
    • Gmail Phone (2)
    • Gmail Screenshot (13)
    • Gmail SMS Text Alerts (12)
    • gmail snippets (2)
    • Gmail Tables (3)
    • Gmail Tabs (5)
    • Gmail Time Tracker (3)
    • Gmail URL Link Preview (5)
    • Gmail Web Clipper (1)
    • Google Docs Templates (15)
    • Google Forms Templates (2)
    • Google Slides Theme Templates (1)
    • Happy Mother's Day Cards (5)
    • Highlight Emails in Gmail (1)
    • Hubspot Templates in Gmail (1)
    • MailKing Email Campaigns and Mail Merge (65)
    • mailking: send mass text from email text message SMS marketing campaigns (16)
    • mailto: (1)
    • meeting scheduler (32)
    • Multi Email Forward (7)
    • Multi Email Forward for Gmail (21)
    • Resize Gmail Sidebar (2)
    • save and backup my emails (1)
    • Save Emails To Box (2)
    • Save Emails To Dropbox (3)
    • Save Emails To Egnyte (3)
    • Save Emails To Google Drive (8)
    • Save Emails To OneDrive (2)
    • Save Emails To OneDrive Business (2)
    • Save Emails To OneNote (2)
    • Save Emails To PDF (43)
    • Save Emails To Salesforce (3)
    • Save Emails To SharePoint (6)
    • Save My Email (1)
    • Save My Emails (3)
    • Send Your Email to SMS (text) (6)
    • Share & Attach Files In Gmail (2)
    • Simple email view (4)
    • Sort Gmail inbox by (5)
    • Sync Google Drive With Dropbox (3)
    • Sync Salesforce Contacts To Google (2)
    • Tiny Sketchbook (3)
    • Unique URL Links for Email Conversations (4)
    • Valentines Day (2)
    • Video Email (9)
  • cybersecurity (1)
  • Dropbox (73)
  • Education (7)
  • Egnyte (9)
  • Email Templates Gmail (4)
  • Email Templates Outlook (4)
  • Google Chrome Web Store (4)
  • Google Sheets Templates (3)
  • Google Workspace (194)
    • Gmail (68)
    • Google AI (3)
    • Google Apps (40)
    • Google Contacts (1)
    • Google Docs (56)
    • Google Drive (73)
    • Google Shared Drives (1)
    • Google Sheets (17)
    • Google Slides (9)
  • Happy Easter Cards (1)
  • HTML editor for Google Drive (1)
  • Microsoft 365 (3)
  • microsoft sharepoint (2)
  • Mobile Text Alerts for Gmail (1)
  • Outlook Email Templates (4)
  • Productivity (1)
  • technology (1)
  • Text Editor for Google Drive (1)