rohit-jsfreaky
357e8a1e75
fix(extract): let the Windows console script use the extraction pool
...
_spawn_cannot_reimport_main (#3669 ) skips the process pool when spawn
workers cannot re-import __main__, judged by os.path.isfile on
__main__.__file__. The pip/uv console script on Windows is a launcher
exe with a zipped __main__.py, so __file__ is
...\Scripts\graphify.exe\__main__.py, not a file on disk, and every
`graphify update` / `graphify extract` from the normal Windows command
extracted on one core.
The pool works there: __main__ has a module spec, so
multiprocessing.spawn passes the module NAME to the worker, and a spec
named __main__ is skipped in the worker altogether ("zip archives ...
we don't even try"). Return False whenever __main__ has a spec,
mirroring get_preparation_data. stdin, -c and the REPL have no spec, so
#3669 is unchanged for them. The two stdin/REPL tests now also set
__spec__ = None, as a real stdin caller has.
Cold build of graphify's own repo with graphify.exe, alternated:
39.6 s -> 26.5 s median (12 workers), identical graph.json.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
(cherry picked from commit f64594d7e5 )
2026-10-07 17:26:00 +01:00
..
2026-09-21 19:19:26 +01:00
2026-09-10 23:04:40 +01:00
2026-10-06 20:55:02 +01:00
2026-10-05 19:40:12 +01:00
2026-09-12 17:36:09 +01:00
2026-09-10 23:04:40 +01:00
2026-09-12 22:23:00 +01:00
2026-09-29 13:49:39 +01:00
2026-10-05 20:11:30 +01:00
2026-09-11 22:46:15 +01:00
2026-10-02 17:10:08 +01:00
2026-09-21 19:44:17 +01:00
2026-10-04 20:40:34 +01:00
2026-09-22 15:00:07 +01:00
2026-09-22 14:58:22 +01:00
2026-09-11 22:51:35 +01:00
2026-10-04 01:52:03 +01:00
2026-09-30 20:41:10 +01:00
2026-09-14 18:55:31 +01:00
2026-09-25 15:44:08 +01:00
2026-10-02 17:10:07 +01:00
2026-10-06 20:54:55 +01:00
2026-10-02 17:10:07 +01:00
2026-09-27 18:56:31 +01:00
2026-09-13 17:47:56 +01:00
2026-10-04 20:23:44 +01:00
2026-10-04 20:23:44 +01:00
2026-10-02 16:50:45 +01:00
2026-09-09 11:30:27 +01:00
2026-10-04 20:23:44 +01:00
2026-10-06 20:54:15 +01:00
2026-10-04 02:07:00 +01:00
2026-09-27 18:39:52 +01:00
2026-10-06 20:54:15 +01:00
2026-10-04 02:07:23 +01:00
2026-10-04 02:09:34 +01:00
2026-09-25 16:01:47 +01:00
2026-10-04 20:23:14 +01:00
2026-10-05 19:40:13 +01:00
2026-09-28 10:15:38 +01:00
2026-09-16 15:37:30 +01:00
2026-10-04 20:23:14 +01:00
2026-10-07 17:26:00 +01:00
2026-09-11 23:58:31 +01:00
2026-10-05 19:40:13 +01:00
2026-09-23 16:54:04 +01:00
2026-10-06 20:54:15 +01:00
2026-09-16 16:20:01 +01:00
2026-09-23 19:45:40 +01:00
2026-10-07 17:26:00 +01:00
2026-09-30 20:10:34 +01:00
2026-09-10 14:03:22 +01:00
2026-09-22 14:58:12 +01:00
2026-09-22 14:58:12 +01:00
2026-09-30 20:41:10 +01:00
2026-10-04 02:08:29 +01:00
2026-10-04 02:07:00 +01:00
2026-10-04 20:40:34 +01:00
2026-10-04 02:08:29 +01:00
2026-10-06 20:54:35 +01:00
2026-09-25 16:15:15 +01:00
2026-09-20 13:59:26 +01:00
2026-10-04 20:23:44 +01:00
2026-09-28 09:13:29 +01:00
2026-09-30 20:41:10 +01:00
2026-09-09 17:20:54 +01:00
2026-09-10 22:44:39 +01:00
2026-10-07 17:26:00 +01:00
2026-09-20 13:59:25 +01:00
2026-09-30 20:10:34 +01:00
2026-09-14 18:49:19 +01:00
2026-09-12 21:31:34 +01:00
2026-10-07 17:26:00 +01:00
2026-09-13 17:47:55 +01:00
2026-09-09 11:30:28 +01:00
2026-10-04 20:23:14 +01:00
2026-09-27 18:39:52 +01:00
2026-10-05 19:40:12 +01:00
2026-09-30 20:41:10 +01:00
2026-09-22 17:30:28 +01:00
2026-10-07 17:26:00 +01:00
2026-10-04 01:43:04 +01:00
2026-10-04 20:40:34 +01:00
2026-09-13 17:47:57 +01:00
2026-10-02 16:50:45 +01:00
2026-09-30 20:41:10 +01:00
2026-09-16 14:50:54 +01:00
2026-10-07 17:26:00 +01:00
2026-10-05 20:12:06 +01:00
2026-09-17 11:01:37 +01:00
2026-10-05 19:40:03 +01:00
2026-10-05 19:40:03 +01:00
2026-09-26 13:45:58 +01:00
2026-10-07 17:26:00 +01:00
2026-09-09 17:20:57 +01:00
2026-10-05 20:11:30 +01:00
2026-10-05 19:40:04 +01:00
2026-10-04 20:40:34 +01:00
2026-09-28 10:18:13 +01:00
2026-09-17 11:01:38 +01:00
2026-10-05 19:40:12 +01:00
2026-09-09 17:20:56 +01:00
2026-09-25 15:44:21 +01:00
2026-10-06 20:54:15 +01:00
2026-09-11 22:46:27 +01:00
2026-10-07 17:26:00 +01:00
2026-09-13 17:47:54 +01:00
2026-09-21 18:04:04 +01:00
2026-09-28 10:15:38 +01:00
2026-09-12 17:36:10 +01:00
2026-09-11 22:46:36 +01:00
2026-10-02 17:10:07 +01:00
2026-09-16 14:43:05 +01:00
2026-10-05 20:11:30 +01:00
2026-10-02 17:10:07 +01:00
2026-10-04 01:43:04 +01:00
2026-09-18 15:16:09 +01:00
2026-10-02 17:10:07 +01:00
2026-10-05 19:40:11 +01:00
2026-10-04 02:07:00 +01:00
2026-10-04 02:07:00 +01:00
2026-09-13 17:47:54 +01:00
2026-09-14 18:52:06 +01:00
2026-10-07 17:26:00 +01:00
2026-10-04 01:44:11 +01:00
2026-09-29 14:37:10 +01:00
2026-10-05 20:12:34 +01:00
2026-09-27 18:39:51 +01:00
2026-09-12 21:49:56 +01:00
2026-10-07 17:26:00 +01:00
2026-10-07 17:26:00 +01:00
2026-09-11 22:46:36 +01:00
2026-10-02 17:10:07 +01:00
2026-09-23 17:01:39 +01:00
2026-10-04 01:43:04 +01:00
2026-10-04 20:40:34 +01:00
2026-10-04 20:23:44 +01:00
2026-10-04 20:23:44 +01:00
2026-09-20 13:59:25 +01:00
2026-09-15 18:01:35 +01:00
2026-09-27 18:39:51 +01:00
2026-09-12 17:39:27 +01:00
2026-10-02 17:10:07 +01:00
2026-09-20 18:53:35 +01:00
2026-09-30 20:41:10 +01:00
2026-10-07 17:26:00 +01:00
2026-09-11 22:46:26 +01:00
2026-10-06 20:54:15 +01:00
2026-10-02 17:10:08 +01:00
2026-09-28 10:15:38 +01:00