Open zdila opened 1 week ago
cargo flamegraph -- input.osm.pbf output.osm.pbf
automatically selected target osm-patcher in package osm-patcher as it is the only valid target
warning: unused manifest key: patchcrates-io
Finished `release` profile [optimized + debuginfo] target(s) in 0.08s
FLUSH
[ perf record: Woken up 56217 times to write data ]
Warning:
Processed 1433604 events and lost 3467 chunks!
Check IO/CPU overload!
Warning:
Processed 1626145 samples and lost 39.44%!
[ perf record: Captured and wrote 15641.616 MB perf.data (984761 samples) ]
writing flamegraph to "flamegraph.svg"
Gzipped interactive version: flamegraph.svg.gz
Describe the bug
I created a simple program that only reads and writes osm.pbf in parallel. It is a copy of parallel-pbf-io.rs without any filtering.
Package version
Desktop or server (please complete the following information): Linux bono 6.11.2-amd64 # 1 SMP PREEMPT_DYNAMIC Debian 6.11.2-1 (2024-10-05) x86_64 GNU/Linux
Additional context Reading only. This uses all CPU cores (I have 24):
Reading and writing. This uses ~ 5 cores.
Modified thread pool sizes - every pool size multiplied by 4. Reading and writing. This uses all cores.
BTW why are those pool sizes hardcoded?
Now
osmium
reading and writing. CPU utilization is low (maybe blocked by I/O speed).Osmium is unbeatable here. Do you see any areas of improvements? I may try to fine tune it.