Coder Social home page Coder Social logo

Comments (5)

TravisCarden avatar TravisCarden commented on June 9, 2024 1

Thanks for the thoughts, @wimleers. Let's save them for later. Those issues were explicitly deferred to follow-ups "if our testing shows we need it". Per the issue title and proposal, this is scoped at getting some initial performance data and automating ongoing scans.

from composer-stager.

wimleers avatar wimleers commented on June 9, 2024

Cache filesystem scan results for reuse between preconditions within the same PHP process.

Is this necessary? That'd cause significant increase in memory consumption, and it'd increase linearly with the complexity of the site (i.e. more packages = more files) 😅

Isn't the fact that stat() (and lstat()) is cached already enough? See the clearstatcache() docs for details.

I think a single clearstatcache() prior to evaluating the children of NoUnsupportedLinksExist would be sufficient to guarantee up-to-date results at all times?

Cache whole precondition check results beyond single PHP processes, with cache expiration/invalidation.

Not only would this be a huge amount of complexity to manage … but how could this possibly handle cache invalidation? You'd have to rely on inotify on Linux, FSEvents on macOS etc. (I know because I once built something on top of these: https://github.com/wimleers/fileconveyor.)

Run precondition checks concurrently, i.e., multithreaded.

Did PHP add multithreading support I do not know about? 😅

from composer-stager.

TravisCarden avatar TravisCarden commented on June 9, 2024

Adding this as a prerequisite for https://github.com/php-tuf/composer-stager/milestone/1 per @effulgentsia

from composer-stager.

wimleers avatar wimleers commented on June 9, 2024

Why was this removed from the v2.0.0 milestone on March 21? (I'd like to understand the rationale.)

from composer-stager.

effulgentsia avatar effulgentsia commented on June 9, 2024

The thinking was that even if some refactoring of the preconditions ends up being needed that it can be done without breaking APIs, so could be done in 2.1 or 2.2.

from composer-stager.

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.