[Python-Dev] PEP 410 (Decimal timestamp): the implementation is ready for a review (original) (raw)
Antoine Pitrou solipsis at pitrou.net
Thu Feb 16 13:56:41 CET 2012
- Previous message: [Python-Dev] PEP 410 (Decimal timestamp): the implementation is ready for a review
- Next message: [Python-Dev] PEP 410 (Decimal timestamp): the implementation is ready for a review
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, 16 Feb 2012 13:46:18 +0100 Victor Stinner <victor.stinner at gmail.com> wrote:
Let's try in a ext4 filesystem: $ ~/prog/python/timestamp/python Python 3.3.0a0 (default:35d6cc531800+, Feb 16 2012, 13:32:56) >>> import decimal, os, shutil, time >>> open("test", "x").close() >>> shutil.copy2("test", "test2") >>> os.stat("test", timestamp=decimal.Decimal).stmtime Decimal('1329395871.874886224') >>> os.stat("test2", timestamp=decimal.Decimal).stmtime Decimal('1329395871.873350282')
This looks fishy. Floating-point numbers are precise enough to represent the difference between these two numbers:
f = 1329395871.874886224 f.hex() '0x1.3cf3e27f7fe23p+30' g = 1329395871.873350282 g.hex() '0x1.3cf3e27f7e4f9p+30'
If I run your snippet and inspect modification times using stat
, the
difference is much smaller (around 10 ns, not 1 ms):
$ stat test | \grep Modify Modify: 2012-02-16 13:51:25.643597139 +0100 $ stat test2 | \grep Modify Modify: 2012-02-16 13:51:25.643597126 +0100
In other words, you should check your PEP implementation for bugs.
Regards
Antoine.
- Previous message: [Python-Dev] PEP 410 (Decimal timestamp): the implementation is ready for a review
- Next message: [Python-Dev] PEP 410 (Decimal timestamp): the implementation is ready for a review
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]