analysis/tasks: Compute all task_states dataframes at once
Created by: valschneider
This was benchmarked against a 400MB trace::
%%time
df = trace.analysis.tasks.df_tasks_states()
CPU times: user 1.18 s, sys: 100 ms, total: 1.28 s
Wall time: 1.28 s
This gave me a DataFrame with 807089 rows weighing a total of ~45MB.
Note that adding the next_state
column costed me ~0.25s
extra (compared to only computing the deltas). It simplifies the
stringification of the multi & single tasks dataframes, but I could
move it to be done only for single task dataframes.