Saurik Explains Why Cydia Needs to Reload Data Every Time It’s Launched

Cydia

Although a lot of parallels are drawn between the App Store and Cydia, a major factor that differentiates the two is the time it takes for the two to be ready from a “cold start.” 

As Cydia downloads the entire package index from third party servers to store them locally, the launch time can increase considerably depending on your connection speed.

Saurik explain this in detail, in response to a question asked on Reddit:

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.

[…]

[T]his 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).

In a different reply on the same thread, he adds that the time taken by the “Reloading data” step won’t be  affected in any way by the categories a user chooses to be visible in the UI. For instance, if you’re not a big fan of theming your device, you might think that disabling the theme section would boost Cydia’s performance, but unfortunately repos don’t take this into consideration and send you data about themes anyway.

The offline approach does have its positives though. One being that, unlike the App Store where you can’t scroll past more than 25 items without tapping the “load more” button, Cydia does a very good job at scrolling past thousands of items. It also does a surprisingly good job at searching through the entire index of packages on various repositories, often displaying the required results as you type. Storing megabytes of package index information locally, Saurik says, improves the interaction time greatly by removing scope of any sort of network delay.

In the same Reddit thread, Saurik also talks about the largely irrelevant ads slapped onto the “details page” of a package. He says, repository owners like ModMyi and BigBoss have control over the ads and not him, nor does he benefit in any way from these ads. They do, however, help in recovering hosting costs incurred by repo owners.

For the entire thread, hit the Reddit source link below.

[Reddit via iDB]