A processor for throttling comprising: a plurality of processing cores to execute instructions; and throttling logic to: determine an average capacitance score for execution events in a sliding time window, the average capacitance score reflecting the estimated energy consumption of execution events based on capacitance weights of the execution events, wherein events having relatively larger capacitance weights include operations that require relatively larger power consumption during execution and events having relatively smaller capacitance weights include operations that require relatively smaller power consumption during execution; perform frequency throttling when the average capacitance score exceeds a throttling threshold; determine a count of frequency throttling instances in a first processing core of the plurality of processing cores; and in response to a determination that the count of frequency throttling instances exceeds a maximum throttling value, increase the throttling threshold and concurrently reduce a baseline frequency, wherein the baseline frequency is an operating frequency of the first processing core in a non-throttled state. a plurality of processing cores to execute instructions; and throttling logic to: determine an average capacitance score for execution events in a sliding time window, the average capacitance score reflecting the estimated energy consumption of execution events based on capacitance weights of the execution events, wherein events having relatively larger capacitance weights include operations that require relatively larger power consumption during execution and events having relatively smaller capacitance weights include operations that require relatively smaller power consumption during execution; perform frequency throttling when the average capacitance score exceeds a throttling threshold; determine a count of frequency throttling instances in a first processing core of the plurality of processing cores; and in response to a determination that the count of frequency throttling instances exceeds a maximum throttling value, increase the throttling threshold and concurrently reduce a baseline frequency, wherein the baseline frequency is an operating frequency of the first processing core in a non-throttled state. determine an average capacitance score for execution events in a sliding time window, the average capacitance score reflecting the estimated energy consumption of execution events based on capacitance weights of the execution events, wherein events having relatively larger capacitance weights include operations that require relatively larger power consumption during execution and events having relatively smaller capacitance weights include operations that require relatively smaller power consumption during execution; perform frequency throttling when the average capacitance score exceeds a throttling threshold; determine a count of frequency throttling instances in a first processing core of the plurality of processing cores; and in response to a determination that the count of frequency throttling instances exceeds a maximum throttling value, increase the throttling threshold and concurrently reduce a baseline frequency, wherein the baseline frequency is an operating frequency of the first processing core in a non-throttled state.