Not a stack trace because I'm at work and I need to kick up our scons version several
But here is the code in Action.py 825 - def get_implicit_deps(self, target, source, env, executor=None): 826 icd = env.get('IMPLICIT_COMMAND_DEPENDENCIES', True) 827 if is_String(icd) and icd[:1] == '$': 828 icd = env.subst(icd) 829 if not icd or icd in ('0', 'None'): 830 return [] 831 from SCons.Subst import SUBST_SIG 832 if executor: 833 cmd_list = env.subst_list(self.cmd_list, SUBST_SIG, executor=executor) 834 else: 835 cmd_list = env.subst_list(self.cmd_list, SUBST_SIG, target, source) 836 res = [] 837 for cmd_line in cmd_list: 838 if cmd_line: 839 d = str(cmd_line[0]) 840 m = strip_quotes.match(d) 841 if m: 842 d = m.group(1) 843 d = env.WhereIs(d) 844 if d: 845 res.append(env.fs.File(d)) 846 return res From: b...@baddogconsulting.com At: 09/28/16 16:40:24 To: Tom Tanner (BLOOMBERG/ LONDON), scons-dev@scons.org Subject: Re: [Scons-dev] SCons testing That's very strange. Do you have a stack trace of that? Curious to see the path through the code causing that. -Bill On Wed, Sep 28, 2016 at 10:12 AM, Tom Tanner (BLOOMBERG/ LONDON) <ttann...@bloomberg.net> wrote: The general number isn't unexpected. The total number is a bit more so as WhereIs gets called once for each command more or less. If you have 5,000 compile steps that's 5,000 calls to stat the compiler path. From: b...@baddogconsulting.com At: 09/28/16 13:20:50 To: Tom Tanner (BLOOMBERG/ LONDON), scons-dev@scons.org Subject: Re: [Scons-dev] SCons testing stat() likely get's called on every single source file. That's how you get the date stamps from the file. So that's not really unexpected. I"ll take a look at the test vs normal usage on the docbook logic later today. -Bill On Wed, Sep 28, 2016 at 7:23 AM, Tom Tanner (BLOOMBERG/ LONDON) <ttann...@bloomberg.net> wrote: I stuck in a pull request a day or so ago to cache the result of WhereIs as doing some tests with strace I've found that 'stat' gets called an /awful/ lot on our system (every single time we have a C++ source to compile for instance). Whilst I was running the tests, I found that all of the docbook related tests are failing because test.where_is is using a different path (the current OS one) to that used by the test (which are just using c:\windows\system32). I'm not sure what the solution is to this. Apologies if I sent this before, I thought I had but I can't see anything in my inbox at work which should have picked it up. _______________________________________________ Scons-dev mailing list Scons-dev@scons.org https://pairlist2.pair.net/mailman/listinfo/scons-dev _______________________________________________ Scons-dev mailing list Scons-dev@scons.org https://pairlist2.pair.net/mailman/listinfo/scons-dev
_______________________________________________ Scons-dev mailing list Scons-dev@scons.org https://pairlist2.pair.net/mailman/listinfo/scons-dev