Why is Google so much faster than a hard-drive search?

Google is not searching the internet: it is searching an index. Google has huge server farms which are constantly scanning and indexing the internet. This process takes a lot of time, just like the search of your unindexed hard drive. In Windows 7, there is an option to index your hard drives. This process takes some time at first but once it is up and running the results of a search will be instantaneous.

If you want to know more about how the Google search works you can read Google's article "How Search Works" or read the article "How Stuff Works: How Google Works".


Google is like searching the yellow pages for an address (indexed). Windows search is akin to driving around checking numbers on buildings (non-indexed).

Another analogy would be looking through a well organized library and card catalog, or just sorting through an unorganized pile of books every time.

Fundamentally it's all the organizational work done prior to the search that makes it fast.

FYI: When searching indexed locations, windows search can be just as responsive.


Google's business is search (and serving up Ads) and it's very focused on that. There are number of things that Google does to ensure data is returned to you very fast:

  • First it uses MapReduce and PageRank to generate a comprehensive index of the World Wide Web. It updates this regularly so the results are fresh.
  • That index is distributed and replicated across Google's many servers
  • Your query is split across multiple servers to build the returned results. This allows the process to be highly parallelized.
  • Common queries and results are cached, reducing the need to perform the search at all.

See this link for more information about How Search Works

Comparatively a hard drive search without an index has to read through every file on the drive and this can take a lot of time.

Additionally you can think of both a filesystem and an index as a tree. In the filesystem the root of the tree is the top-level folder and it can have branches (folders) or leaves (files) in that one folder. Each branch can have sub-branches for more folders and leaves for more files. To search this structure you have to 'walk' all of the branches (and sub-branches) to find the leaf you are looking for. An index flips this hierarchy around. The base becomes the alphabet and all of the sub-branches further refinements on this. The leaves are the location of the item you are looking for. Searching this structure allows you to prune (exclude) large sections of tree (eg. the first letter of your search term allows you to trim 25 other branches right away).