homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: profile.Profile.calibrate can produce incorrect numbers in some circumstances
Type: behavior Stage:
Components: Library (Lib) Versions: Python 3.4, Python 3.5, Python 2.7
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: adamtj, georg.brandl
Priority: normal Keywords: patch

Created on 2012年03月30日 16:45 by adamtj, last changed 2022年04月11日 14:57 by admin.

Files
File name Uploaded Description Edit
profile-calibrate.patch adamtj, 2012年03月30日 16:45
Messages (2)
msg157145 - (view) Author: Adam Tomjack (adamtj) Date: 2012年03月30日 16:45
profile.Profile.calibrate can only produces a bias for the default timer. If you've specified a different timer, it will not be used when calibrating.
Additionally, setting profile.Profile.bias will affect the computed bias. It will produce a bias that must be added to profile.Profile.bias and cannot be used independently, which is surprising.
The fix is to change
 p = Profile()
to 
 p = Profile(timer=self.timer, bias=0)
in _calibrate_inner().
The attached patch makes that change and additionally removes some code that temporarily resets self.bias in calibrate(), as it had no effect. Perhaps Profile.bias was meant instead. At any rate, _calibrate_inner() no longer needs to exist, but is left for backwards compatibility.
This will demonstrate the problem with calibrating after setting profile.Profile.bias:
import profile
profile.Profile.bias = profile.Profile().calibrate(100000); 
print '%+.9f' % profile.Profile.bias
profile.Profile.bias = profile.Profile().calibrate(100000); 
print '%+.9f' % profile.Profile.bias
msg222244 - (view) Author: Mark Lawrence (BreamoreBoy) * Date: 2014年07月04日 00:05
@Adam sorry about the delay in getting back to you.
@Georg can you comment on the patch please.
History
Date User Action Args
2022年04月11日 14:57:28adminsetgithub: 58658
2019年03月16日 00:12:37BreamoreBoysetnosy: - BreamoreBoy
2014年07月04日 00:05:33BreamoreBoysetnosy: + georg.brandl, BreamoreBoy

messages: + msg222244
versions: + Python 3.5, - Python 2.6, Python 3.1, Python 3.2, Python 3.3
2012年03月30日 16:45:25adamtjcreate

AltStyle によって変換されたページ (->オリジナル) /