Back in the 90's when a lot of software systems were written for the first time the standard computer had a single processor and ran a 32-bit or even a 16-bit operating system. This remained the case for much of the early 00s, with the main focus being on processor speed and RAM size. But later in the decade Intel released the first desktop dual-core processor and later still Microsoft introduced their first 64-bit operating systems.
You might be inclined to say "so what?" and rightly so, but the effects of these advances are changing the way modern software is written:
Firstly the fact that modern operating systems are 64-bit, mean that they can use huge amounts of RAM (with windows up to 192 GB). With 32-bit systems we were constrained by a 4 GB RAM limit, which in practise usually meant 3 GB. Being able to put more information in memory means that applications can run faster and number crunch more effectively. For FundApps (which was specifically designed for 64-bit systems) that means we can do all the calculating of rules in memory and have no fears that we will ever run up against a memory limit. Other systems which are still 32-bit, struggle with this and end up forcing the client to design all sorts of convoluted architectures to stop the system grinding to a halt with all the funds simultaneously in memory.
Secondly the rise in multi-core processors has meant that computers can do multiple tasks at once (something which men are often accused of being unable to do). The art of parallel computing is an esoteric science and costs the lives of many a good brain cell (Dining philosophers anyone?) when learning to code. Luckily the modern programming platforms (especially .NET 4.0) enable a good developer to write software which can run separate tasks in parallel. Once again, for us this is invaluable as it means we can make each fund which is being checked run in parallel to the other funds. So even a system under heavy load from pre-trade checks can still check new trades without blocking each other.