-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Ls performance changes #4891
Comments
Sounds Good To me. |
Whoa... is this really the case? Using GMP bindings from a rather slow language on a crappy laptop I get over 260,000/s conversions of a random 70 byte string ( chosen to cover potential super-long 512 bit CIDs ). I suspect results from within golang will be even better. Or perhaps requiring a C library itself is an issue...?
|
When listing a directory with 100,000 files, 100 files per ms is actually kind of slow. |
Given my figure of 265k/s the conversion of 100,000 CIDs twice the size of a typical one should take 300ms. The actual time is likely a fifth of that, as perl itself is embarrassingly slow, it was just faster to code a single command one can paste into their terminal to validate things. All I am trying to point out is that you are almost certainly solving the wrong problem: if Base58 conversion is a notable factor in your measurements - the converter is seriously flawed. |
I'd like to make the following changes to the
ls
command for performance reasons:-q
flag that only returns names. Base58 encoding a bunch of CIDs is actually quite a time-consuming operation. It would be nice to have a variant that just returns names.--resolve-types
with--type=[always|local|never]
. Currently, there's no way to say "don't resolve this type, even if we have the object". Having that option would allow us to avoid hitting the datastore for every file listed. (note,--resolve-types
will only be deprecated, not removed).The text was updated successfully, but these errors were encountered: