@@ -19,7 +19,7 @@ following sections:
19
19
* [ Task Distribution using Channels] ( #task-distribution-using-channels )
20
20
- [ Profiling your code] ( #profiling-your-code )
21
21
* [ Perf] ( #perf )
22
- * [ Eventlog ] ( #eventlog )
22
+ * [ Olly ] ( #olly )
23
23
24
24
# Introduction
25
25
@@ -864,7 +864,7 @@ $ ocaml-eventlog-pausetimes caml-10599-0.eventlog caml-10599-2.eventlog caml-105
864
864
865
865
** Diagnose Imbalance in Task Distribution**
866
866
867
- * Eventlog* can be useful to find imbalance in task distribution
867
+ * Eventlog* (for OCaml versions < 5.0) can be useful to find imbalance in task distribution
868
868
in a parallel program. Imbalance in task distribution essentially means that
869
869
not all domains are provided with equal amount of computation to perform, so some
870
870
domains take longer than others to finish their computations, while the idle domains
@@ -885,6 +885,17 @@ So far we've only found an imbalance in task distribution
885
885
in the code, so we'll need to change our code accordingly to make the task
886
886
distribution more balanced, which could increase the speedup.
887
887
888
+ If you're running OCaml version > 5.0, you can use Olly to summarize data from runtime events.
889
+
890
+ * Olly* Olly is part of the ` runtime_events_tools ` package. Install Olly on your switch using ` opam install runtime_event_tools ` .
891
+
892
+ Olly can be used in the following manner ` olly trace program_trace.json 'program.exe [args]' ` . The json file can then be viewed in your browser.
893
+
894
+ Olly also allows you to measure the GC latency and view a parseable histogram summary of pause durations. Latency can be measured using
895
+ ` olly latency 'program.exe [args]' ` .
896
+
897
+ For more information on runtime instrumentation, please refer here : https://v2.ocaml.org/manual/runtime-tracing.html
898
+
888
899
---
889
900
890
901
Performace debugging can be quite tricky at times, so if you could use some help in
0 commit comments