Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

validate.py: Replace deprecated time.clock() calls #251

Merged
merged 1 commit into from Jan 15, 2021

Conversation

magnusbaeck
Copy link
Member

Applicable Issues

Fixes #250

Description of the Change

time.clock() is deprecated and removed in Python 3.8. It was replaced by time.process_time() and time.perf_counter() in Python 3.3. Replace the calls in examples/validate.py with time.perf_counter(). This drops support for Python 2 so the shebang is adjusted (not that the shebang is very useful for this non-executable file).

This also fixes what probably was an unintentional buglet; on Linux time.clock() returned the elapsed CPU time but on Windows it returned the elapsed time. Since the number was seemingly used to report the validation progress every five seconds the behavior was only correct on Windows.

Alternate Designs

We could've used time.time() given the low resolution requirement and the fact that we don't really care that that call returns a non-monotonous clock. That would've kept Python 2 compatibility, but Python 2 was EOLed almost a year ago so it's reasonable to drop support for it.

Benefits

The script will work with Python 3.8.

Possible Drawbacks

The script won't work with Python 2.x.

Sign-off

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.

Signed-off-by: Magnus Bäck <magnus.back@axis.com>

time.clock() is deprecated and removed in Python 3.8. It was replaced
by time.process_time() and time.perf_counter() in Python 3.3. Replace
the calls in examples/validate.py with time.perf_counter(). This drops
support for Python 2 so the shebang is adjusted (not that the shebang
is very useful for this non-executable file).

This also fixes what probably was an unintentional buglet; on Linux
time.clock() returned the elapsed CPU time but on Windows it returned
the elapsed time. Since the number was seemingly used to report the
validation progress every five seconds the behavior was only correct
on Windows.
@e-backmark-ericsson e-backmark-ericsson merged commit 951a594 into eiffel-community:master Jan 15, 2021
@magnusbaeck magnusbaeck deleted the time-clock branch January 15, 2021 14:30
e-backmark-ericsson pushed a commit to e-backmark-ericsson/eiffel that referenced this pull request Apr 13, 2022
)

time.clock() is deprecated and removed in Python 3.8. It was replaced
by time.process_time() and time.perf_counter() in Python 3.3. Replace
the calls in examples/validate.py with time.perf_counter(). This drops
support for Python 2 so the shebang is adjusted (not that the shebang
is very useful for this non-executable file).

This also fixes what probably was an unintentional buglet; on Linux
time.clock() returned the elapsed CPU time but on Windows it returned
the elapsed time. Since the number was seemingly used to report the
validation progress every five seconds the behavior was only correct
on Windows.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

validate.py uses library function removed in Python 3.8
4 participants