mirror of
https://github.com/enso-org/enso.git
synced 2024-12-24 08:12:06 +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.
27 lines
944 B
TOML
27 lines
944 B
TOML
[package]
|
|
name = "double-representation"
|
|
version = "0.1.0"
|
|
authors = ["Enso Team <contact@enso.org>"]
|
|
edition = "2021"
|
|
|
|
[lib]
|
|
crate-type = ["cdylib", "rlib"]
|
|
|
|
[dependencies]
|
|
ast = { version = "0.1.0", path = "../../language/ast/impl" }
|
|
engine-protocol = { version = "0.1.0", path = "../engine-protocol" }
|
|
parser = { version = "0.1.0", path = "../../language/parser" }
|
|
enso-data-structures = { path = "../../../../lib/rust/data-structures" }
|
|
enso-logger = { path = "../../../../lib/rust/logger" }
|
|
enso-prelude = { path = "../../../../lib/rust/prelude" }
|
|
enso-profiler = { path = "../../../../lib/rust/profiler" }
|
|
enso-text = { path = "../../../../lib/rust/text" }
|
|
failure = { version = "0.1.6" }
|
|
itertools = { version = "0.10.0" }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
uuid = { version = "0.8", features = ["serde", "v4", "wasm-bindgen"] }
|
|
|
|
[dev-dependencies]
|
|
regex = { version = "1.3.6" }
|
|
wasm-bindgen-test = { version = "0.3.8" }
|