STINNER Victor added the comment:
Microbenchmark on Fedora 26 for https://github.com/python/cpython/pull/1385
Working directly uses ext4, the filesystem operations are likely cached in
memory, so syscalls should be very fast.
$ ./python -m perf timeit --inherit=PYTHONPATH 'open("x.txt", "w").close()' -o
open_ref.json -v
$ ./python -m perf timeit --inherit=PYTHONPATH 'open("x.txt", "w").close()' -o
open_patch.json -v
$ ./python -m perf compare_to open_ref.json open_patch.json
Mean +- std dev: [open_ref] 18.6 us +- 0.2 us -> [open_patch] 18.2 us +- 0.2
us: 1.02x faster (-2%)
Microbenchmark using a btrfs filesystem mounted on NFS over wifi: not
significant!
$ ./python -m perf timeit --inherit=PYTHONPATH 'open("nfs/x.txt", "w").close()'
--append open_patch.json -v
$ ./python -m perf timeit --inherit=PYTHONPATH 'open("nfs/x.txt", "w").close()'
--append open_patch.json -v
haypo@selma$ ./python -m perf compare_to open_ref.json open_patch.json -v
Mean +- std dev: [open_ref] 17.8 ms +- 1.0 ms -> [open_patch] 17.8 ms +- 1.0
ms: 1.00x faster (-0%)
Not significant!
Note: open().close() is 1000x slower over NFS!
According to strace, on NFS, open() and close() are slow, but syscalls in the
middle are as fast as syscalls on a local filesystem.
Well, it's hard to see a significant speedup, even on NFS. So I abandon my
change.
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue30228>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com