/[make]/make/ChangeLog
ViewVC logotype

Diff of /make/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2.267 by psmith, Fri Apr 8 12:51:20 2005 UTC revision 2.268 by psmith, Wed Apr 13 03:16:33 2005 UTC
# Line 1  Line 1 
1    2005-04-12  Paul D. Smith  <psmith@gnu.org>
2    
3            The second expansion feature causes significant slowdown.  Timing
4            a complex makefile (GCC 4.1) shows a slowdown from .25s to just
5            read the makefile before the feature, to 11+s to do the same
6            operations after the feature.  Additionally, memory usage
7            increased drastically.  To fix this I added some intelligence that
8            avoids the overhead of the second expansion unless it's required.
9    
10            * dep.h: Add a new boolean field, need_2nd_expansion.
11    
12            * read.c (eval): When creating the struct dep for the target,
13            check if the name contains a "$"; if so set need_2nd_expansion to 1.
14            (record_files): If there's a "%" in a static pattern rule, it gets
15            converted to "$*" so set need_2nd_expansion to 1.
16    
17            * file.c (expand_deps): Rework to be more efficient.  Only perform
18            initialize_file_variables(), set_file_variables(), and
19            variable_expand_for_file() if the need_2nd_expansion is set.
20    
21            * implicit.c (pattern_search): Default need_2nd_expansion to 0.
22            (pattern_search): Ditto.
23            * main.c (handle_non_switch_argument): Ditto.
24            (main): Ditto.
25            * read.c (read_all_makefiles): Ditto.
26            (eval_makefile): Ditto.
27    
28  2005-04-07  Paul D. Smith  <psmith@gnu.org>  2005-04-07  Paul D. Smith  <psmith@gnu.org>
29    
30          * main.c (main) [WINDOWS32]: Export PATH to sub-shells, not Path.          * main.c (main) [WINDOWS32]: Export PATH to sub-shells, not Path.

Legend:
Removed from v.2.267  
changed lines
  Added in v.2.268

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26