mirror of
https://github.com/c-cube/moonpool.git
synced 2025-12-12 14:00:41 -05:00
raytracer: improve progress bar
This commit is contained in:
parent
71981e437c
commit
3858d64bc2
1 changed files with 5 additions and 2 deletions
|
|
@ -245,6 +245,7 @@ type queue_item =
|
||||||
| Unblock_next_line of unit Fut.promise
|
| Unblock_next_line of unit Fut.promise
|
||||||
|
|
||||||
type state = {
|
type state = {
|
||||||
|
config: config;
|
||||||
start: float;
|
start: float;
|
||||||
active: bool Atomic.t;
|
active: bool Atomic.t;
|
||||||
n_done: int Atomic.t;
|
n_done: int Atomic.t;
|
||||||
|
|
@ -259,8 +260,9 @@ let progress_thread (st : state) : Thread.t =
|
||||||
let run () =
|
let run () =
|
||||||
while Atomic.get st.active do
|
while Atomic.get st.active do
|
||||||
let elapsed = Unix.gettimeofday () -. st.start in
|
let elapsed = Unix.gettimeofday () -. st.start in
|
||||||
pf "%s[%.3fs] %d done, %d waiting%!" reset_line_ansi elapsed
|
let total = st.config.nx * st.config.ny in
|
||||||
(Atomic.get st.n_done) (Atomic.get st.n_waiting);
|
pf "%s[%.3fs] %d/%d done, %d waiting%!" reset_line_ansi elapsed
|
||||||
|
(Atomic.get st.n_done) total (Atomic.get st.n_waiting);
|
||||||
Thread.delay 0.1
|
Thread.delay 0.1
|
||||||
done
|
done
|
||||||
in
|
in
|
||||||
|
|
@ -314,6 +316,7 @@ let run (config : config) =
|
||||||
let st =
|
let st =
|
||||||
{
|
{
|
||||||
active = Atomic.make true;
|
active = Atomic.make true;
|
||||||
|
config;
|
||||||
start = Unix.gettimeofday ();
|
start = Unix.gettimeofday ();
|
||||||
n_done = Atomic.make 0;
|
n_done = Atomic.make 0;
|
||||||
n_waiting = Atomic.make 0;
|
n_waiting = Atomic.make 0;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue