Sign in

    wite

    Component-model-aware WebAssembly analyzer, optimizer, and profiler

    wasm
    component-model
    optimizer
    profiler
    Download zip
    Author
    Version
    0.6.2
    License
    Apache-2.0
    Last updated
    8 months ago
    Downloads
    65K

    #wite

    WebAssembly analyzer/optimizer/profiler for core wasm and component model binaries.

    // See README.md and src/lib.mbt for usage.

    CallGraphNode

    CallGraphReport

    CallGraphSummary

    CodeBlockSize

    CodeBlockSizeReport

    ComponentCallGraphReport

    ComponentCoreOptimizeEntry

    ComponentCoreOptimizeReport

    ComponentFunctionSizeReport

    ComponentProfile

    ComponentRootPolicyReport

    ContractReport

    CustomSectionBreakdown

    FunctionGapEntry

    FunctionGapReport

    FunctionSizeDiff

    HostGeneratedCodeReport

    HotnessSizeBucket

    HotnessSizeEntry

    HotnessSizeMatrixReport

    HotnessUnresolvedReasonCount

    KeepReasonEntry

    KeepReasonReport

    ModuleProfile

    OptimizeConfig

    OptimizeMetadataReport

    OptimizeResult

    OptimizeStageMetadata

    RetainPathEntry

    RetainPathReport

    RuntimeFunctionProfile

    RuntimeProfile

    RuntimeProfileScenario

    RuntimeUnresolvedExport

    WasmBreakdownReport

    analyze_call_graph

    analyze_call_graph_summary

    analyze_code_block_sizes

    analyze_component_call_graphs

    fn analyze_component_call_graphs(bytes : Bytes) -> Result[Array[
    ComponentCallGraphReport
    ], String]

    analyze_component_contract

    fn analyze_component_contract(bytes : Bytes, resolved :
    ResolveInput
    ) -> Result[
    ContractReport
    , String]

    analyze_component_core_optimize

    fn analyze_component_core_optimize(bytes : Bytes, config? :
    OptimizeConfig
    , exclude? : Array[String]) -> Result[
    ComponentCoreOptimizeReport
    , String]

    analyze_component_function_sizes

    fn analyze_component_function_sizes(bytes : Bytes) -> Result[Array[
    ComponentFunctionSizeReport
    ], String]

    analyze_component_root_policy

    fn analyze_component_root_policy(bytes : Bytes, resolved_wit? :
    ResolveInput
    , exclude? : Array[String]) -> Result[
    ComponentRootPolicyReport
    , String]

    analyze_dce_report

    fn analyze_dce_report(bytes : Bytes) -> Result[
    DceReport
    ,
    WiteError
    ]

    analyze_function_size_gap

    fn analyze_function_size_gap(left_bytes : Bytes, right_bytes : Bytes, top_limit? : UInt) -> Result[
    FunctionGapReport
    ,
    WiteError
    ]

    analyze_function_sizes

    analyze_host_generated_code

    analyze_hotness_size_matrix

    fn analyze_hotness_size_matrix(bytes : Bytes, iterations? : UInt, scenarios? : Array[
    RuntimeProfileScenario
    ]) -> Result[
    HotnessSizeMatrixReport
    , String]

    analyze_optimize_metadata

    fn analyze_optimize_metadata(bytes : Bytes, config? :
    OptimizeConfig
    , function_diff_limit? : UInt) -> Result[
    OptimizeMetadataReport
    ,
    WiteError
    ]

    analyze_section_sizes

    analyze_wasm_breakdown

    fn analyze_wasm_breakdown(bytes : Bytes, top_limit? : UInt) -> Result[
    WasmBreakdownReport
    ,
    WiteError
    ]

    error_to_string

    fn error_to_string(err :
    WiteError
    ) -> String

    make_component_optimize_config

    fn make_component_optimize_config(base? :
    OptimizeConfig
    , root_name_candidates? : Array[String], exclude? : Array[String]) ->
    OptimizeConfig

    make_optimize_config

    fn make_optimize_config(strip_all_custom? : Bool, strip_name_section? : Bool, strip_producers_section? : Bool, strip_debug_sections? : Bool, strip_dwarf_sections? : Bool, strip_target_features_section? : Bool, keep_custom_sections? : Array[String], pass_rounds? : UInt, enable_peephole? : Bool, peephole_remove_nop? : Bool, peephole_remove_const_drop? : Bool, enable_vacuum? : Bool, enable_merge_blocks? : Bool, enable_remove_unused_brs? : Bool, enable_dce? : Bool, enable_dfe? : Bool, enable_merge_similar_functions? : Bool, enable_remove_unused_module_elements? : Bool, closed_world? : Bool, closed_world_root_exports? : Array[String], safe_mode? : Bool) ->
    OptimizeConfig

    make_runtime_profile_scenario

    fn make_runtime_profile_scenario(export_name : String, args? : Array[Int]) ->
    RuntimeProfileScenario

    optimize_binary_for_size

    fn optimize_binary_for_size(bytes : Bytes, config? :
    OptimizeConfig
    , exclude? : Array[String]) -> Result[
    OptimizeResult
    , String]

    optimize_component_for_size

    fn optimize_component_for_size(bytes : Bytes, config? :
    OptimizeConfig
    , exclude? : Array[String]) -> Result[
    OptimizeResult
    , String]

    optimize_config_from_opt_level

    fn optimize_config_from_opt_level(level : String) ->
    OptimizeConfig
    ?

    profile_component

    fn profile_component(bytes : Bytes) -> Result[
    ComponentProfile
    , String]

    profile_module

    profile_runtime_exports

    fn profile_runtime_exports(bytes : Bytes, iterations? : UInt, scenarios? : Array[
    RuntimeProfileScenario
    ]) -> Result[
    RuntimeProfile
    , String]

    profile_runtime_zero_arg_exports

    fn profile_runtime_zero_arg_exports(bytes : Bytes, iterations? : UInt) -> Result[
    RuntimeProfile
    , String]

    Source Files

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io