You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -266,18 +266,17 @@ constraints against themselves.
266
266
267
267
### Increase Rendering Speed with Concurrency
268
268
269
-
Hydrator has added support for asynchronous hydration of cluster and package manifests using event-based concurrency. It
270
-
is disabled by default. To use, pass the `--workers` flag during invocation. For example:
269
+
Hydrator is designed for high-performance, parallel execution of CPU-bound hydration tasks. It automatically uses a process-based concurrency model to take full advantage of multi-core systems, bypassing Python's Global Interpreter Lock (GIL).
270
+
271
+
By default, Hydrator will spawn a number of worker processes equal to the number of CPU cores on the system. You can override this behavior by passing the `--workers` flag:
The recommended number of workers to use is 2 for every CPU core available. If you are still not seeing the performance
277
-
improvements you would like, we recommend allocating more CPUs to hydrator and to increase the number of workers
278
-
accordingly. For example, if you have allocated 16 (v)CPUS, use 32 workers.
277
+
The optimal number of workers can vary depending on the workload and system resources. A good starting point is one worker per available CPU core, but experimentation is encouraged. More available CPUs will always result in better performance.
279
278
280
-
> **Note:**Increasing the number of concurrent workers can dramatically reduce the usefulness of hydrator output, as the logs from concurrent tasks will be interleaved in the console. If you are troubleshooting a local developer workflow, it is suggested to disable hydration concurrency by omitting the `--workers` flag to ensure clear, sequential output.
279
+
> **Note:**When multiple workers are active, their log outputs will be interleaved in the console. For troubleshooting a specific hydration, it is recommended to limit the run to a single worker (`--workers=1`) to ensure clear, sequential output.
281
280
282
281
### Filtering
283
282
@@ -377,7 +376,7 @@ Note that functionality is split across subcommands:
-v, --verbose increase output verbosity; -vv for max verbosity
390
389
-q, --quiet output errors only
391
-
--workers WORKERS
390
+
--workers WORKERS Overrides the number of worker processes to use for hydration. By default the number of worker processes is the number of processors on the machine.
391
+
--version show program's version number and exit
392
392
```
393
393
394
394
## Development
@@ -432,7 +432,7 @@ of this writing, asyncronous hydration using asyncio completes approximately 85%
432
432
433
433
There is an additional set of tests assets at `tests/assets/platform_valid_async_perf_testing` which contain ~1000
434
434
clusters for evaluation and test of performance enhancements/improvements. Hydration of these resources completes in
0 commit comments