mirror of
https://github.com/enso-org/enso.git
synced 2024-11-30 05:35:09 +03:00
bd60a20bd3
Define some workflows for batch-mode profiling. Implemented: - collapse nodes - create node - enter collapsed node - new project - open visualization They can currently be built and run with a command like: `./run.sh ide build --profiling-level=debug && dist/ide/linux-unpacked/enso --entry-point profile --workflow create_node --save-profile out.json` And the data can be displayed with: `dist/ide/linux-unpacked/enso --entry-point profiling_run_graph --load-profile out.json` Demo of recording and viewing a profile with a command-line one-liner: https://user-images.githubusercontent.com/1047859/169954795-2d9520ca-84f9-45d2-b83a-5063ebe6f718.mp4 See: https://www.pivotaltracker.com/story/show/182195399. # Important Notes - When defining workflows, two helpers are enough to allow us to tell when the action is really done: `Fixture::compile_new_shaders`, and `Fixture::backend_execution`. Often, it is appropriate to await both, but it depends on the task. - The shader compiler is now driven by a `Controller`; while the `Compiler` is reset if context is lost, the `Controller`'s state survives context loss. - A new `--load-profile` option supports specifying a profile by path when running `profiling_run_graph`. - Drop the `with_same_start` profiler interface; we ended up preferring a child profiler convention, and this interface was not implemented compatibly with the stricter data model we've had since the introduction of `profiler::data`. - Fix the noisy `rustfmt` output.
68 lines
1.7 KiB
TOML
68 lines
1.7 KiB
TOML
max_width = 100
|
|
hard_tabs = false
|
|
tab_spaces = 4
|
|
newline_style = "Unix"
|
|
indent_style = "Block"
|
|
use_small_heuristics = "Max"
|
|
wrap_comments = true
|
|
format_code_in_doc_comments = true
|
|
comment_width = 100
|
|
normalize_comments = false
|
|
normalize_doc_attributes = false
|
|
license_template_path = ""
|
|
format_strings = false
|
|
format_macro_matchers = false
|
|
format_macro_bodies = true
|
|
empty_item_single_line = true
|
|
struct_lit_single_line = true
|
|
fn_single_line = false
|
|
where_single_line = true
|
|
imports_indent = "Block"
|
|
imports_layout = "Mixed"
|
|
imports_granularity = "Item"
|
|
group_imports = "Preserve"
|
|
reorder_imports = true
|
|
reorder_modules = true
|
|
reorder_impl_items = false
|
|
type_punctuation_density = "Wide"
|
|
space_before_colon = false
|
|
space_after_colon = true
|
|
spaces_around_ranges = false
|
|
binop_separator = "Front"
|
|
remove_nested_parens = true
|
|
combine_control_expr = true
|
|
overflow_delimited_expr = true
|
|
struct_field_align_threshold = 20
|
|
enum_discrim_align_threshold = 20
|
|
match_arm_blocks = false
|
|
match_arm_leading_pipes = "Never"
|
|
force_multiline_blocks = false
|
|
fn_args_layout = "Tall"
|
|
brace_style = "PreferSameLine"
|
|
control_brace_style = "AlwaysSameLine"
|
|
trailing_semicolon = true
|
|
trailing_comma = "Vertical"
|
|
match_block_trailing_comma = false
|
|
blank_lines_upper_bound = 3
|
|
blank_lines_lower_bound = 0
|
|
edition = "2021"
|
|
version = "One"
|
|
inline_attribute_width = 0
|
|
merge_derives = false
|
|
use_try_shorthand = false
|
|
use_field_init_shorthand = true
|
|
force_explicit_abi = true
|
|
condense_wildcard_suffixes = false
|
|
color = "Auto"
|
|
unstable_features = false
|
|
disable_all_formatting = false
|
|
skip_children = false
|
|
hide_parse_errors = false
|
|
error_on_line_overflow = false
|
|
error_on_unformatted = false
|
|
report_todo = "Never"
|
|
report_fixme = "Never"
|
|
ignore = []
|
|
emit_mode = "Files"
|
|
make_backup = false
|