VegaProf:剖析 Vega 可视化
VegaProf: Profiling Vega Visualizations
AI总结:
本文提出首个 Vega 可视化性能剖析器 VegaProf,通过将声明式规范与编译执行关联,在函数、数据流图和可视化规范三个抽象层次上实现交互式性能检查,使 Vega 可视化剖析更易处理且更具可操作性。
摘要:
面向可视化的领域特定语言(DSL)旨在通过提供抽象,将实现和执行细节从用户层卸载到系统层,从而简化可视化的创建。因此,DSL 通常通过连续的降级操作将用户定义的规范转换为中间表示(IR)来执行。然而,由于分层的抽象,DSL 指定的可视化可能难以剖析,因而也难以优化。为了更好地理解可视化剖析工作流及其挑战,我们对在生产环境中使用 Vega 的可视化工程师进行了形成性访谈。Vega 是一种流行的可视化 DSL,它将规范转换为数据流图,然后执行这些图以渲染可视化图元。我们的形成性访谈表明,当前的开发人员工具不适合进行可视化剖析,因为它们在运行时与 Vega 规范的语义及其 IR 脱节。为了解决这一差距,我们引入了 VegaProf,这是第一个用于 Vega 可视化的性能剖析器。VegaProf 通过将声明式规范与其编译和执行相关联来对 Vega 库进行插桩。VegaProf 集成在 Vega 代码游乐场中,在三个抽象层次上协调可视化性能检查:函数、数据流图和可视化规范。我们通过用例、可视化工程师以及 Vega 库原始开发人员的反馈来评估 VegaProf。我们的结果表明,VegaProf 通过使用户能够交互式地探查 Vega 分层抽象中的时间性能,使可视化剖析更加易于处理且更具可操作性。此外,我们从研究结果中提炼出建议,并倡导将可视化 DSL 与其内省工具共同设计。
英文摘要:
Domain-specific languages (DSLs) for visualization aim to facilitate visualization creation by providing abstractions that offload implementation and execution details from users to the system layer. Therefore, DSLs often execute user-defined specifications by transforming them into intermediate representations (IRs) in successive lowering operations. However, DSL-specified visualizations can be difficult to profile and, hence, optimize due to the layered abstractions. To better understand visualization profiling workflows and challenges, we conduct formative interviews with visualization engineers who use Vega in production. Vega is a popular visualization DSL that transforms specifications into dataflow graphs, which are then executed to render visualization primitives. Our formative interviews reveal that current developer tools are ill-suited for visualization profiling since they are disconnected from the semantics of Vega's specification and its IRs at runtime. To address this gap, we introduce VegaProf, the first performance profiler for Vega visualizations. VegaProf instruments the Vega library by associating a declarative specification with its compilation and execution. Integrated into a Vega code playground, VegaProf coordinates visual performance inspection at three abstraction levels: function, dataflow graph, and visualization specification. We evaluate VegaProf through use cases and feedback from visualization engineers as well as original developers of the Vega library. Our results suggest that VegaProf makes visualization profiling more tractable and actionable by enabling users to interactively probe time performance across layered abstractions of Vega. Furthermore, we distill recommendations from our findings and advocate for co-designing visualization DSLs together with their introspection tools.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。