bugmake - Bugs: bug #51454, Poor performance for Intermediate...

 
 

bug #51454: Poor performance for Intermediate targets.

Submitted by:  Paul Draper <pauldraper>
Submitted on:  Thu 13 Jul 2017 04:05:54 AM UTC  
 
Severity: 3 - NormalItem Group: Enhancement
Status: NonePrivacy: Public
Assigned to: NoneOpen/Closed: Open
Component Version: NoneOperating System: Any
Fixed Release: NoneTriage Status: None

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Thu 13 Jul 2017 04:05:54 AM UTC, original submission:

```
LIST := $(shell seq 200)

.PHONY: all
all: $(LIST:=.q)

%.q: $(LIST:=.r)
touch $@

%.r: $(LIST:=.s)
touch $@

%.s: $(LIST:=.t)
touch $@

%.t:
touch $@
```

The first `make` invocation takes <1s. Subsequent invocations take 18s on the same machine. All of it is spent in make process, not sys calls. This is due to recursion in the intermediate branch of the `check_dep` function.

I first noticed this when using no-prereq .SECONDARY in a large makefile, which made everything intermediate.

Paul Draper <pauldraper>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #41197:  makefile added by pauldraper (155B - application/octet-stream - makefile)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by pauldraper (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follows 1 latest change.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 13 Jul 2017 04:06:33 AM UTCpauldraperAttached File-=>Added makefile, #41197

    Back to the top


    Powered by Savane 3.1-cleanup1