| 25 May 2021 |
baloo | yeah | 23:19:22 |
andi- | That don't have a local dir to write cache files to | 23:19:23 |
baloo | running tests | 23:19:28 |
baloo | well, iirc a process will try to write to /nix/store/blabla-python/share/foo.pyc if you open the foo.py | 23:20:11 |
baloo | not sure there is a per-user cache of those | 23:20:30 |
andi- | Well the cache dir would be more like while developing on python software | 23:20:44 |
baloo | if it can't store the pyc, it will work just fine, but needs to rebuild | 23:20:49 |
baloo | yeah but usually you invoke libraries and stuff | 23:21:05 |
baloo | (I stopped using venv since nix) | 23:21:35 |
andi- | Anyway, determinism > speed for now :-) | 23:22:10 |
baloo | yeah that's nice. I'd like to debug for the gcc build | 23:30:54 |
baloo | but I need to step through the different phases and compare the intermediate results | 23:31:15 |
baloo | the non-reproducibility there does not make much sense to me | 23:31:52 |
andi- | oh, GCC is still not reproducible? I thought we got that one covered. | 23:32:32 |
baloo | it is now | 23:32:41 |
baloo | but it's 8-12% slower | 23:32:49 |
andi- | would be worse if the build results were slower now | 23:33:08 |
baloo | the build results are the same | 23:33:38 |
baloo | but getting there is slower | 23:33:46 |
baloo | the gcc build measures the compilation of gcc itself to determine hotpaths | 23:34:27 |
baloo | and feeds that to the compilation to reorder the output assembly | 23:34:43 |
andi- | is that different from their PGO? | 23:46:19 |
baloo | that's the pgo | 23:47:45 |
baloo | and I can't understand why it's not reproducible | 23:47:58 |
andi- | For the python PGO stuff I spotted a few time.time() calls which might make the profile output depend on the current time. Sometimes you might have more odd seconds or whatever which might slightly affect the formatting code or what not | 23:48:54 |
baloo | huum | 23:49:33 |
baloo | thing is | 23:49:35 |
baloo | it's reproducible on the same machine | 23:49:43 |
@grahamc:nixos.org | let's patch the kernel to only ever say it is 1 second past the epoch. always. | 23:49:51 |
baloo | but going from amd zen1 to zen3 breaks it | 23:49:56 |