Git Product home page Git Product logo

Comments (4)

mpartel avatar mpartel commented on July 16, 2024

It is surprising that the rate limiting flags have such a large impact. That appears to be a bug.

Other than that, it doesn't surprise me that bindfs is by default quite a bit slower than direct filesystem access. Some overhead will always be unavoidable, but I think some of it is due to various caches being disabled, because the source directory's content can in general change independently. You can experiment with the flags documented in man mount.fuse.

Also, Debian Stretch is quite old and has only FUSE 2, but FUSE 3 comes with new perormance-related options, such as writeback_cache.

If you're interested, you can also compare bindfs performance to the example passthrough filesystems that come with FUSE (called fusexmp_fh in the FUSE 2 branch). I'd expect them to be similar, given the same caching flags.

from bindfs.

nmanchinn avatar nmanchinn commented on July 16, 2024

Thank you for the quick response. I will experiment with few fuse flags to see if there are any differences. I will share my findings soon.

from bindfs.

nmanchinn avatar nmanchinn commented on July 16, 2024

Hi Martin,

Thank you for the suggestion and apologies for getting back to you late. Please find our findings below:

  • Upgrading to FUSE 3 resulted in a huge performance boost.

  • The rate limit flags resulted in little to no impact and the amount of time it took to write the 500kb was only about 4.1 seconds compared to a local folder which was about 2.2 seconds.

  • Local Folder
    real 0m2.248s
    user 0m0.623s
    sys 0m0.528s

  • Bindfs 1.17
    real 0m3.820s
    user 0m0.628s
    sys 0m0.553s

  • Bindfs 1.17 with --read-rate=1T --write-rate=1T
    real 0m4.098s
    user 0m0.679s
    sys 0m0.551s

These results are not averages and might have some margin of error. However, they are enough to say FUSE 3 is yielding better performance than the default binary available on Debian 11, so thank you for the suggestion!

Also, I'm wondering if bindfs can be compiled and statically linked with libfuse3 and released to apt-get?

from bindfs.

mpartel avatar mpartel commented on July 16, 2024

It's interesting that FUSE 3 has such a large impact. Thanks for following up!

Also, I'm wondering if bindfs can be compiled and statically linked with libfuse3 and released to apt-get?

Debian will almost certainly not accept such a change for the stable distro, but for unstable it might.
(Static linking is probably unnecessary and counterproductive in this case.)

from bindfs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.