#42 ASDF redundant recompilations

open
asdf (12)
7
2006-05-29
2005-10-22
No

This is in ASDF 1.86.

When the system definition uses explicit `:in-order-to'
dependencies between files, and I issue a command like
`(asdf:operate 'asdf:load-op <system>)', it recompiles
many files unnecessarily (the fasls are up to date
already). This doesn't happen when the system
definition is in `:serial t' form.

I enclose a tentative fix.

-- Scott

Discussion

  • Scott L. Burson

    Scott L. Burson - 2005-10-23

    Logged In: YES
    user_id=201123

    No, it wasn't that simple. Here's my second try at a fix.

    -- Scott

     
  • Scott L. Burson

    Scott L. Burson - 2005-10-23

    Logged In: YES
    user_id=201123

    No, it wasn't that simple. Here's my second try at a fix.

    -- Scott

     
  • Scott L. Burson

    Scott L. Burson - 2005-10-23

    Logged In: YES
    user_id=201123

    No, it wasn't that simple. Here's my second try at a fix.

    -- Scott

     
  • Scott L. Burson

    Scott L. Burson - 2005-10-23

    Logged In: YES
    user_id=201123

    Okay, third try :) (Deleting the previous attachment.)

    (Sorry for the duplicate comments.)

    -- Scott

     
  • Scott L. Burson

    Scott L. Burson - 2006-05-29

    Logged In: YES
    user_id=201123

    I've been running with this patch for about six months now,
    and it has been working great. I notice it's not in 1.92.
    I strongly encourage you to apply it to the CVS tree.

    (Can't believe I made such a mess of the initial submission
    here -- I know that's not confidence-inspiring. Yow!)

    I'm enclosing a complete example that reproduces the
    problem. Untar it somewhere, place a link to `foo.asd' in
    your central ASDF registry directory, start a fresh Lisp,
    and do `(asdf:operate 'asdf:load-op :foo)'. The source
    files will, of course, be compiled. Now exit Lisp and
    restart it, and do the load step again. You will see that
    most of the source files get recompiled.

    Unfortunately I no longer recall exactly what the problem
    was or how this patch fixes it, but I'm sure I can
    reconstruct that information if you need me to.

     
  • Scott L. Burson

    Scott L. Burson - 2006-05-29
    • priority: 5 --> 7
     
  • Scott L. Burson

    Scott L. Burson - 2006-05-29

    Example of problem

     
  • Scott L. Burson

    Scott L. Burson - 2006-05-29

    Logged In: YES
    user_id=201123

    Here's a patch made from the current CVS tree, just to be
    sure it applies cleanly. Deleting previous patches.

    -- Scott

     
  • Scott L. Burson

    Scott L. Burson - 2006-05-29

    Patch against current CVS tree

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks