ReadonlyAnyReadonlyArrayProxy for creating auto-tracked JuliaArrays
ReadonlyBaseReadonlyBoolReadonlyCharReadonlyCoreReadonlyDictProxy for creating auto-tracked JuliaDicts
ReadonlyFloat16ReadonlyFloat32ReadonlyFloat64ReadonlyFunctionReadonlyInt16ReadonlyInt32ReadonlyInt64ReadonlyInt8ReadonlyMainReadonlyNamedProxy for creating auto-tracked JuliaNamedTuples
ReadonlyNothingReadonlynthreadsReadonlyPkgReadonlySetProxy for creating auto-tracked JuliaSets
ReadonlyStringReadonlySymbolReadonlyTupleProxy for creating auto-tracked JuliaTuples
ReadonlyUReadonlyUReadonlyUReadonlyUReadonlyversionExecute a function without auto-tracking returned values.
Use this when creating many temporary objects that don't need to survive beyond their immediate use. This improves performance by skipping the tracking overhead.
Warning: Objects created inside untracked() may be garbage collected
by Julia if no JS reference exists. Only use for temporary operations.
Julia.scope((julia) => {
const arr = julia.Array.from(new Float64Array([1, 2, 3, 4, 5]));
const range = julia.track(Julia.Base.UnitRange(2, 4));
// Create many temporary SubArrays without tracking overhead
let sum = 0;
julia.untracked(() => {
for (let i = 0; i < 10000; i++) {
const sub = julia.Base.view(arr, range);
sum += Julia.Base.sum(sub).value as number;
}
});
return sum;
});
Type for the scoped Julia proxy object.