Saurik Answers Why Cydia Must Reload Packages Each Time It is Launched

You can't discuss about jailbreaking your iPhone, iPad and iPod touch without mentioning Cydia. Cydia is of course the popular third-party app distribution platform which is the current de-facto standard when it comes to downloading jailbreak apps, tweaks, mods, utilities and more. But Cydia is not without its annoyances. Probably one of the most common one is the fact that the app needs to perform the "Loading Packages" step each time it is launched. Ever wondered why Cydia has to perform this step each and every time it is opened?Who's a better person to answer this question other than the creator of Cydia himself? Jay Freeman, popularly known by the jailbreak community as Saurik has posted in Reddit a thread that aims to answer the burning question as to why Cydia needs to load the packages each time it is opened. The post itself is quite lengthy and here's a portion of it:

So, the "Reloading Data" step is something that can be made faster (and often is: new releases of Cydia often improve the performance of Reloading Data, and it is drastically improved when Apple releases new devices; on the new A5 CPU that step is almost pleasant).

However, the part where it is downloading packages from third party servers is a different story: Cydia, unlike the App Store (or almost any similar service), stores the entire package catalog locally. This is why it can (quite quickly, in fact) render an insanely long table with all packages in it that you can just fling your way through, while the App Store shows you 25 packages at a time with a slow "load more" button.

However, this means that it actually has to keep that many packages locally, and has to keep their records up to date. From a "cold start", downloading the package catalog is something like three megabytes, compressed (totalled from BigBoss, ModMyi, and ZodTTD).

Downloading those large files, often at around the same time other people are downloading them, from centralized and not terribly well organized hosting, really sucks. This is made even worse by them often not following my recommendations on "diff indices" (causing you to have to redownload the entire catalogs randomly).

Saurik added that one of the main factors that could slow down Cydia's process of refreshing packages is when users choose to install as what he refers to as "entirely-random totally-third-party repositories". So basically the more Cydia sources you install, the more catalogs you will be downloading each time Cydia is launched. Cancelling the "Loading Packages" step is not recommended because it may lead to a couple of errors.

For what it's worth, it seems that Saurik is happy with how Cydia turned out and it is doing a "bang-up job" considering that the slowest step can be attributed to "sources ran by random users on the Internet, most of whom have no experience with hosting or operations". [via Reddit]You May Also Like to Read: