Changeset 2758 for trunk/src/kmk
- Timestamp:
- Jan 28, 2015, 2:03:58 PM (10 years ago)
- Location:
- trunk/src/kmk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kmk/function.c
r2702 r2758 2043 2043 size_t off; 2044 2044 const struct floc *reading_file_saved = reading_file; 2045 #ifdef CONFIG_WITH_MAKE_STATS 2046 unsigned long long uStartTick = CURRENT_CLOCK_TICK(); 2047 MAKE_STATS_2(v->cEvalVals++); 2048 #endif 2045 2049 2046 2050 /* Make a copy of the value to the variable buffer since … … 2068 2072 pop_variable_scope (); 2069 2073 restore_variable_buffer (buf, len); 2074 2075 MAKE_STATS_2(v->cTicksEvalVal += CURRENT_CLOCK_TICK() - uStartTick); 2070 2076 } 2071 2077 -
trunk/src/kmk/main.c
r2717 r2758 1368 1368 PATH_VAR (current_directory); 1369 1369 unsigned int restarts = 0; 1370 #ifdef CONFIG_WITH_MAKE_STATS 1371 unsigned long long uStartTick = CURRENT_CLOCK_TICK(); 1372 #endif 1370 1373 #ifdef WINDOWS32 1371 1374 char *unix_path = NULL; … … 2922 2925 _("warning: Clock skew detected. Your build may be incomplete.")); 2923 2926 2927 MAKE_STATS_2(if (uStartTick) printf("main ticks elapsed: %ull\n", (unsigned long long)(CURRENT_CLOCK_TICK() - uStartTick)) ); 2924 2928 /* Exit. */ 2925 2929 die (status); -
trunk/src/kmk/make.h
r2745 r2758 238 238 239 239 /* bird - start */ 240 #ifdef _MSC_VER 241 # include <intrin.h> 242 # define CURRENT_CLOCK_TICK() __rdtsc() 243 #else 244 # define CURRENT_CLOCK_TICK() 0 245 #endif 246 240 247 #define COMMA , 241 248 #ifdef CONFIG_WITH_VALUE_LENGTH -
trunk/src/kmk/variable.c
r2752 r2758 448 448 MAKE_STATS_2(v->reallocs = 0); 449 449 MAKE_STATS_2(v->references = 0); 450 MAKE_STATS_2(v->cEvalVals = 0); 451 MAKE_STATS_2(v->cTicksEvalVal = 0); 450 452 451 453 v->exportable = 1; … … 605 607 MAKE_STATS_2(v->changes = 0); 606 608 MAKE_STATS_2(v->reallocs = 0); 609 MAKE_STATS_2(v->references = 0); 610 MAKE_STATS_2(v->cEvalVals = 0); 611 MAKE_STATS_2(v->cTicksEvalVal = 0); 607 612 v->exportable = 1; 608 613 if (*name != '_' && (*name < 'A' || *name > 'Z') … … 894 899 if (v != VAR_NOT_KBUILD_ACCESSOR) 895 900 { 896 MAKE_STATS (v->references++);901 MAKE_STATS_2 (v->references++); 897 902 return v; 898 903 } … … 929 934 RESOLVE_ALIAS_VARIABLE(v); 930 935 # endif 931 MAKE_STATS(v->references++);932 return v->special ? lookup_special_var (v) : v;936 MAKE_STATS_2 (v->references++); 937 return v->special ? lookup_special_var (v) : v; 933 938 } 934 939 … … 1032 1037 { 1033 1038 RESOLVE_ALIAS_VARIABLE(v); 1034 MAKE_STATS (v->references++);1039 MAKE_STATS_2 (v->references++); 1035 1040 return v; 1036 1041 } … … 1060 1065 RESOLVE_ALIAS_VARIABLE(v); 1061 1066 # endif 1062 MAKE_STATS (if (v) v->references++);1067 MAKE_STATS_2 (if (v) v->references++); 1063 1068 return v; 1064 1069 #endif /* CONFIG_WITH_STRCACHE2 */ … … 2764 2769 static unsigned long var_stats_reallocs, var_stats_realloced; 2765 2770 static unsigned long var_stats_references, var_stats_referenced; 2771 static unsigned long var_stats_evalvals, var_stats_evalvaled; 2772 static uintmax_t var_stats_evalval_ticks; 2766 2773 static unsigned long var_stats_val_len, var_stats_val_alloc_len; 2767 2774 static unsigned long var_stats_val_rdonly_len; … … 2836 2843 var_stats_changes += v->changes; 2837 2844 var_stats_changed += (v->changes != 0); 2845 2838 2846 if (v->reallocs != 0) 2839 2847 printf (_(", %u reallocs"), v->reallocs); 2840 2848 var_stats_reallocs += v->reallocs; 2841 2849 var_stats_realloced += (v->reallocs != 0); 2850 2842 2851 if (v->references != 0) 2843 2852 printf (_(", %u references"), v->references); 2844 2853 var_stats_references += v->references; 2845 2854 var_stats_referenced += (v->references != 0); 2855 2856 if (v->cEvalVals != 0) 2857 //printf (_(", %u evalvals (%llu ticks)"), v->cEvalVals, v->cTicksEvalVal); 2858 printf (_(", %u evalvals (%llu ms)"), v->cEvalVals, v->cTicksEvalVal / 3299998); 2859 var_stats_evalvals += v->cEvalVals; 2860 var_stats_evalvaled += (v->cEvalVals != 0); 2861 2846 2862 var_stats_val_len += v->value_length; 2847 2863 if (v->value_alloc_len) -
trunk/src/kmk/variable.h
r2752 r2758 113 113 unsigned int reallocs; /* Realloc on value count. */ 114 114 unsigned int references; /* Lookup count. */ 115 unsigned cEvalVals; /* $(evalval v) or $(evalvalctx v) count */ 116 unsigned long long cTicksEvalVal; /* Number of ticks spend in cEvalVal. */ 115 117 #endif 116 118 };
Note:
See TracChangeset
for help on using the changeset viewer.