spox / allgems

Document everything
http://github.com/spox/allgems
3 stars 2 forks source link

Dependency slow down #13

Open spox opened 14 years ago

spox commented 14 years ago

When generating a LID, we hit a big slowdown as the dependencies are calculated. We need to either see if we can find a way to speed it up doing our own calculations, or we need to throw the user to a landing page to wait until the LID is generated, and then redirected on.

rdp commented 14 years ago

so I assume we don't store dependency info. in the DB currently?

spox commented 14 years ago

Right. Currently the specification file is serialized and stored in the db so when a gem version is requested, it can be grabbed and restored quickly and easily. The problem with this that I'm still using rubygems to generate the dependency list, and that brings all the overhead with it.

I guess I should just pull the dependency information out when the gem specs are first pulled and stored. Then we can just hit the db and figure out the information from there.

And this brings up an issue with the LID generation that has bugged me from the start. Right now, a LID generates a list of gem versions that are associated with it. However, if a dependency is something like >= 0.1 of RandomGem and RandomGem releases a new 0.2 version, the LID will be stale. Alas, at this point it's just something on my mind, not really relevant at the moment.