Git Product home page Git Product logo

Comments (6)

StefanKarpinski avatar StefanKarpinski commented on May 4, 2024

Realistically, only Jeff can do this. I'm also not sure if it's even possible. My understanding of the way this works is that incremental compilation is a non-starter, but Jeff is going to have to comment on that.

from julia.

JeffBezanson avatar JeffBezanson commented on May 4, 2024

The problem is inlining. Or when f calls g, even if g is not inlined, f's inferred type depends on information about g. It's very true that allowing separate compilation is a desirable feature of a type system, but we don't have it.

Actually, there is a way to rebuild sys.ji faster. The idea is to "edit" the image by starting julia with your current system image, then loading your changed files, then saving the system image again. This will work for changes that not too many things depend on. Eventually I can implement something that traverses dependencies and makes sure everything that needs to gets re-compiled. This is the way to do it.

from julia.

StefanKarpinski avatar StefanKarpinski commented on May 4, 2024

That's a cool idea and would be really awesome. We need some sort of dependency tracking in order for methods to get recompiled when other methods that they depend on change anyway. Would implementing that have the desired effect? Currently, when you redefine a method, you then have to also redefine any methods that used that function.

from julia.

JeffBezanson avatar JeffBezanson commented on May 4, 2024

Yes, I think that is the real issue here. I need to do it at some point anyway. Once that is done, the way to build sys.ji will be to start julia with the current sys.ji, then call load on files newer than sys.ji, then save the image again. It will only take as long as necessary, depending how deep your changes go. That would be perfect.

from julia.

ViralBShah avatar ViralBShah commented on May 4, 2024

Yes, this solution is perfect. Perhaps github needs to provide a +1 button to give a thumbs up...

from julia.

ViralBShah avatar ViralBShah commented on May 4, 2024

With the base library stabilising, this is not as important. Closing as wontfix.

from julia.

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.