Even ignoring FireFox’s insanely slow startup speed, FireFox exhibits a behavior that on good days is amusing; on bad days annoying.
The address bar autocomplete with all of my bizilion bookmarks in its sqlite database is slower than its web based search bar autocomplete. Comparing FireFox to Chrome: the perceived difference in speed between their address bars ( Chrome’s address bar uses Googgle search ) is even more stunning. Chrome autocomplete feels near instant, while FireFox sometimes goes so slowly i sometimes literally give up and do something else while waiting for it to finish thinking. ( go boot Chrome, for instance. )
Some of this is basic software design…
It’s always a bad idea to do synchronous tasks while a user provides input – nothing should interrupt my typing waiting to hear back from the autocomplete. Most likely, a separate thread or process should be off running the local db search, and either the input thread or a display thread should be polling for results, handling them as they come in ( perhaps with quick tail filter to throw out results that no longer match my current input ).
That said: while of course search providers have spent a lot more of time on autocomplete than the Mozilla people have – no doubt doing typing prediction behind the scenes as well as just simple search – there’s something else going on more than just the algorithmic code design.
It appears faster to send packets out to the internet keypress by keypress – faster to use a remote machine to lookup what i’m typing – than it is to spin up my own machine’s harddrive, seek out, swap in, and search an sqlite database.
To say that one more time: accessing a remote machine is faster than accessing my local machine.
Maybe someone out there has some numbers about what kind of concrete difference there is – not just raw speed, but also latency. So much, no doubt, depends on the size of the data set coming back, but it does really illustrate – to me at least – why cloud computing is so powerful and why remote applications will continue to grow in scope.
Wherefore art thou VT100?