Code Monkey home page Code Monkey logo

Comments (3)

Kurt-von-Laven avatar Kurt-von-Laven commented on May 29, 2024 1

The idea of using the same tool and pipeline locally, across developer machines and in CI would be broken by this.

We pin the patch version of the tools we are using, so we have encountered very little in the way of meaningful differences ourselves, but some projects will likely be more sensitive to the installation mechanism. Do you feel this concern wouldn't be addressed by offering an option to insist on a pure asdf plugin installation for those projects that require it?

Either way, I'm all for improving the performance of asdf-python; that is by far the slowest plugin we are using, and it would be nice not to require developers to install the Python build dependencies. I don't know whether it's a Docker image, but setup-python definitely installs pre-built Python from a global tool cache.

The caching technique described in #235 (comment) greatly improves performance in the cache hit case. The only performance value of the native setup actions is in the cache miss case, which we hit fairly often since we make a point of keeping up to date. Projects that upgrade less frequently likely don't mind the delay on cache miss as much. It would certainly be nice if caching didn't require the workaround described in that issue.

I'm a big fan of incremental progress in open source. Excited to see what you have in mind.

from actions.

jthegedus avatar jthegedus commented on May 29, 2024

I am not so much a fan of this idea. It changes the nature of using asdf completely. The idea of using the same tool and pipeline locally, across developer machines and in CI would be broken by this.

It may be quicker, but that would be because of how some of the asdf plugins work. For instance, the asdf-python plugin compiles from source. This takes a lot longer than pulling a pre-built & cached Docker image which I suspect the setup-python action does.

Having plugins which give the option to compile from source or download a pre-built binary or such would be one pathway to solve this problem.

I will be investigating caching with this action to also address some of these performance issues.

I have a lot of ideas for this action, but instead of rewriting like I was planning with all my radical ideas in one big bang, I will take small incremental steps to get there.

from actions.

jthegedus avatar jthegedus commented on May 29, 2024

Do you feel this concern wouldn't be addressed by offering an option to insist on a pure asdf plugin installation for those projects that require it?

For this action, I think pure asdf plugin installation should be the default.

It would be good if asdf-python offered an ENV_VAR configuration option to download thse same Python builds as setup-python. Perhaps a fork or feature request to submit.

since we make a point of keeping up to date

Yeah, that would be annoying.

from actions.

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.