Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-5479

Don't run MessageVetter unless messages have changed

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 10.9.1.0
    • Fix Version/s: 10.9.1.0
    • Component/s: Build tools
    • Labels:
      None

      Description

      Continuing my series of patches micro-optimizing the build scripts...

      MessageVetter is always run as part of the build, also in incremental builds when nothing has changed. Since it needs to go through more than 800 files, it may take a while (just half a second on the fastest machine I tested, so not a big deal, but that's still a significant portion of the total time in an incremental build). We should skip the message check in incremental builds if none of the messages have changed.

      1. d5479-1a.diff
        1 kB
        Knut Anders Hatlen

        Activity

        Hide
        knutanders Knut Anders Hatlen added a comment -

        Attaching a patch which makes the checkmessages target touch the file generated/checkmessages.done when it's done, and adds logic to skip the target if all the message files are older than generated/checkmessages.done.

        (Is the "generated" dir the right place to put such a file? Or should we have a new "generated/timestamps" directory to avoid cluttering the root of the generated dir?)

        Show
        knutanders Knut Anders Hatlen added a comment - Attaching a patch which makes the checkmessages target touch the file generated/checkmessages.done when it's done, and adds logic to skip the target if all the message files are older than generated/checkmessages.done. (Is the "generated" dir the right place to put such a file? Or should we have a new "generated/timestamps" directory to avoid cluttering the root of the generated dir?)
        Hide
        rhillegas Rick Hillegas added a comment -

        Hi Knut: The patch looks good to me. As long as the file ends up in the generated tree I don't have strong religion about where to put the file. On the one hand, right now the top level generated directory has only subdirectories in it and no ordinary files. On the other hand, we can always move files around if the top level generated directory starts to look cluttered. Thanks.

        Show
        rhillegas Rick Hillegas added a comment - Hi Knut: The patch looks good to me. As long as the file ends up in the generated tree I don't have strong religion about where to put the file. On the one hand, right now the top level generated directory has only subdirectories in it and no ordinary files. On the other hand, we can always move files around if the top level generated directory starts to look cluttered. Thanks.
        Hide
        knutanders Knut Anders Hatlen added a comment -

        Thanks, Rick! For now, I think I'll just go for the patch as it is. If too many files in the top-level generated directory becomes a problem, it should be easy enough to clean it up.

        Committed revision 1189059.

        Show
        knutanders Knut Anders Hatlen added a comment - Thanks, Rick! For now, I think I'll just go for the patch as it is. If too many files in the top-level generated directory becomes a problem, it should be easy enough to clean it up. Committed revision 1189059.

          People

          • Assignee:
            knutanders Knut Anders Hatlen
            Reporter:
            knutanders Knut Anders Hatlen
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development