Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement some sort of a cache #31

Open
AlexDaniel opened this issue Sep 13, 2016 · 5 comments
Open

Implement some sort of a cache #31

AlexDaniel opened this issue Sep 13, 2016 · 5 comments
Labels
whateverable Issues affecting the bot framework (and therefore all of the bots)

Comments

@AlexDaniel
Copy link
Member

Most queries are using HEAD and “releases”, there is no need to extract these files each time (wasting 0.2s on each archive each time).

In fact, it looks like even Benchable is not smart enough to not work with archives all the time (see this). Some kind of a global cache will eliminate the need to fix Benchable.

@AlexDaniel AlexDaniel added all bots Issues affecting all (or most) of the bots whateverable Issues affecting the bot framework (and therefore all of the bots) and removed all bots Issues affecting all (or most) of the bots labels Sep 21, 2016
@AlexDaniel AlexDaniel added the testneeded Issue is generally resolved but tests were not written yet label Jan 6, 2017
@AlexDaniel AlexDaniel removed the testneeded Issue is generally resolved but tests were not written yet label Mar 12, 2017
@AlexDaniel
Copy link
Member Author

Interesting issue. See #117 also.

Basically, we have something like this:

  • Builds that are in long-term storage mode, where 20 builds are put into the same archive to save space
    • using lrz
    • extremely low disk usage (≈10 MiB per archive, which is ≈0.5 MiB per build)
    • <2 seconds to extract required build
  • Normally archived builds, where each build is in its own archive
    • using zstd
    • low disk usage (≈4.7 MiB per archive/build)
    • <0.2 seconds to extract required build
  • A new level proposed by this ticket
    • using nothing, the build is left on the disk uncompressed
    • 28 MiB per build
    • Low to zero delay to get the required build

@AlexDaniel
Copy link
Member Author

I wonder if we should use lz4 for this. According to my measurements in #23, lz4 is just ≈38 milliseconds (≈30%) faster than zstd, so we are not winning anything this way? I'd consider 87ms delay to get the required build as too slow if we are talking about fast cache.

@MasterDuke17
Copy link
Collaborator

You mean use lz4 for the fast path? Instead of uncompressed?

@AlexDaniel
Copy link
Member Author

@MasterDuke17 yea…

@AlexDaniel
Copy link
Member Author

Anyway, IMO no need to use lz4, just leave the build uncompressed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
whateverable Issues affecting the bot framework (and therefore all of the bots)
Projects
None yet
Development

No branches or pull requests

2 participants