Distinct Software Ltd

software performance consultancy

Software performance analysis

Distinct software undertake analysis to determine the root cause of performance problems, rather than recommending speculative un-justified remedies, such remedies do not stand up to closer inspection...

  • Buy a faster server or machine
    It is true that in many cases technology has moved on to produce hardware which is much faster now than it was even 6 months ago, but will it make the necessary difference ? Increasing the available resources is not understanding why the system needs so much, with the consequence that such upgrades will not necessarily produce expected performance improvements. Can you be certain that the software can take advantage of improved resources ? Indeed, can such resources actually provide the required level of improvement ?
    Spending money on hardware may be an expensive error
  • Rewrite system as thin client
    Thin client systems have great merits, indeed in some cases performance may be better, but to re-architect an existing system without the basis of tangeable evidence of benefits would be a very expensive endeavour. Some architectural tweaks may be necessary in some systems to fix bottlenecks, but a change of complete system architecture is usually unnecessary, and sometimes counter-productive, moving problems elsewhere.
    System re-writes are expensive and usually unnecessary
  • Make system multi-threaded
    Multi-threaded architectures are designed in specific ways to solve specific problems. In many cases making an existing single-threaded system into a multi-threaded one will not bring benefits. The most common misguided rationale for making this change is that "the software can do something while it is waiting for the data from the database" Unfortunately, software is usually waiting for data from the database because it needs it, there is nothing else to do until the data is returned.
    Proper analysis of how the solution would benefit performance is necessary
  • Rewrite system using CORBA or .NET
    Once again - there is no real reason why a CORBA or .NET based system is supposed to be faster or more efficient than any other system. Somebody else's CORBA or .NET system may be fast, but the issue to address is the your slow system.
    Technology is unlikey to help without a change in algorithm code and architecture
  • Cache more data in memory - databases are slow
    This is a classic programmer's solution to perfomance problems. Perception that databases access is slow sometimes gives rise to this solution. Proper analysis shows that cacheing of data can be slower in many cases, while database performance is actually very good. Database servers have had a great deal of performance work done to make sure they are fast, but it is necessary to check that the way the database is used is efficient. Cacheing of data may be an option, but it is also necessary to consider how cached data is going to be kept up-to-date which means an apparently easy option may be more difficult to implement.
    Implementing caches may seem like the way forward, but it is not always beneficial

  • enquiry services database tuning skills & experience performance intro performance mistakes scalability independent arbitration

    Distinct Software Limited is incorporated in England and Wales #4790498