Crate rayon_logs[][src]

This crate provides logging facilities to evaluate performances of code parallelized with the rayon parallel computing library.

Modules

prelude

We define here all traits enhancing parallel iterators.

Structs

Logged

Logged is an iterator that logs all tasks created in a LoggedPool.

Rectangle

Tasks are animated as a set of rectangles.

RunLog

Store information on all tasks and threads number. We also store threads number because sometimes all threads are not used.

TaskLog

The final information produced for log viewers. A 'task' here is not a rayon task but a subpart of one. a simple example with just one call to join will create 4 tasks:

ThreadPool

We wrap rayon's pool into our own struct to overload the install method.

ThreadPoolBuilder

We rewrite ThreadPoolBuilders since we need to overload the start handler in order to give each thread a place to write its logs.

Functions

fill_svg_file

fill given file with a set of rectangles and edges as an animated svg.

join

Execute a logging join.

join_context

Execute a logging join_context.

sequential_task

Launch a sequential task with tagged work. We expect op to be sequential.

visualisation

convert all tasks information into animated rectangles and edges.

write_svg_file

saves a set of rectangles and edges as an animated svg file. 1 animated second is 1 milli second of run.