diff --git a/README.md b/README.md index 5c3ca74..a7ca74a 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ Hey there ๐Ÿ‘‹๐Ÿป, I'm [felixge](https://github.com/felixge) and I've just star I found that Go has a lot of profilers and there are many tools for looking at the data, but that there is very little information on what any of it means. So in order to make sure that I know what I'm talking about, I've started to research the existing profilers and how they work. This repository is my attempt to summarize my findings in the hope that it might be useful to others. +- [The Busy Developers's Guide to Go Profiling, Tracing and Observability](./guide/README.md) - [pprof tool & format](./pprof.md): Describes the pprof tool and the binary data format for storing profiles. - [Stack Traces](./stack-traces.md): An in-depth look at stack traces in Go which are a load bearing subsystem for profiling. - [Goroutine Profiling](./goroutine.md): Allows you to get a list of all active goroutines and what they're currently doing. diff --git a/examples/guide/main b/examples/guide/main new file mode 100755 index 0000000..01be3f3 Binary files /dev/null and b/examples/guide/main differ diff --git a/examples/guide/main.go b/examples/guide/main.go new file mode 100644 index 0000000..f3cf801 --- /dev/null +++ b/examples/guide/main.go @@ -0,0 +1,12 @@ +package main + +import ( + "time" +) + +func main() { + start := time.Now() + for time.Since(start) < time.Second { + } + //time.Sleep(time.Second) +} diff --git a/examples/guide/main2.go b/examples/guide/main2.go new file mode 100644 index 0000000..77e7f7f --- /dev/null +++ b/examples/guide/main2.go @@ -0,0 +1,27 @@ +package main + +import ( + "os" + "runtime/trace" + "time" +) + +func main() { + trace.Start(os.Stdout) + defer trace.Stop() + + go b() + a() +} + +func a() { + start := time.Now() + for time.Since(start) < time.Second { + } +} + +func b() { + start := time.Now() + for time.Since(start) < time.Second { + } +} diff --git a/examples/guide/main3.go b/examples/guide/main3.go new file mode 100644 index 0000000..596d8d9 --- /dev/null +++ b/examples/guide/main3.go @@ -0,0 +1,19 @@ +package main + +import ( + "fmt" + "net/http" + "os" + "runtime/trace" +) + +func main() { + trace.Start(os.Stderr) + defer trace.Stop() + + res, err := http.Get("https://example.org/") + if err != nil { + panic(err) + } + fmt.Printf("%d\n", res.StatusCode) +} diff --git a/examples/guide/trace.bin b/examples/guide/trace.bin new file mode 100644 index 0000000..45c8f1e Binary files /dev/null and b/examples/guide/trace.bin differ diff --git a/guide.excalidraw b/guide.excalidraw new file mode 100644 index 0000000..5be953d --- /dev/null +++ b/guide.excalidraw @@ -0,0 +1,512 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "type": "ellipse", + "version": 439, + "versionNonce": 99598167, + "isDeleted": false, + "id": "OkVhsngC1W_qO9sNi0ZKD", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 712.3327975802952, + "y": 1064.5428764974185, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 392.02349853515625, + "height": 388.1683520208971, + "seed": 1622389102, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 333, + "versionNonce": 915293529, + "isDeleted": false, + "id": "zi6i3xeoTlw2jmvkvo0MH", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 843.216566297743, + "y": 1387.2014024522568, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 148, + "height": 25, + "seed": 1862147767, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Goroutine Time", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "ellipse", + "version": 447, + "versionNonce": 351741913, + "isDeleted": false, + "id": "YREBQWDaV41cof7PNs-br", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 717.6362750700704, + "y": 1152.5910203721785, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 218.25456981428613, + "height": 216.10826137312208, + "seed": 2138441529, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 275, + "versionNonce": 2133733945, + "isDeleted": false, + "id": "GLANOsn9G3AgWIiZsTm0k", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 772.6275160047743, + "y": 1313.185594346788, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 105, + "height": 25, + "seed": 1548483929, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Block Time", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "ellipse", + "version": 584, + "versionNonce": 968102423, + "isDeleted": false, + "id": "4JSZd_8EU30-i5ZTcEMII", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 756.3474011055642, + "y": 1153.7242601182722, + "strokeColor": "#000000", + "backgroundColor": "yellow", + "width": 143.066548976275, + "height": 141.65963712110846, + "seed": 714197463, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 371, + "versionNonce": 184386329, + "isDeleted": false, + "id": "9INmL5p1bzQ4ybvAY_FvP", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 771.523206922743, + "y": 1215.219285753038, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 114, + "height": 25, + "seed": 2132545303, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Mutex Time", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "ellipse", + "version": 737, + "versionNonce": 1295947127, + "isDeleted": false, + "id": "WowgALfO30J7LlVnLjWSY", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 951.207475970678, + "y": 1156.7638086620884, + "strokeColor": "#000000", + "backgroundColor": "#cc79a7", + "width": 140.0686567283485, + "height": 138.69122604941987, + "seed": 460035961, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 231, + "versionNonce": 107984889, + "isDeleted": false, + "id": "Y_QmsQGgj_OEe1xJWA90D", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 976.2918531629771, + "y": 1217.2686330105935, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 94, + "height": 25, + "seed": 513434745, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU Time", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "arrow", + "version": 836, + "versionNonce": 1098090263, + "isDeleted": false, + "id": "LQL7eklipWPJw7N6IV0k3", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1134.1059168640527, + "y": 1337.203653024999, + "strokeColor": "#000000", + "backgroundColor": "#82c91e", + "width": 144.83075681630953, + "height": 1.2338944467890087, + "seed": 1019757362, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "r5QpngwDotW31qiS-84QZ", + "focus": 0.09220703124999852, + "gap": 9.483194464072312 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -144.83075681630953, + 1.2338944467890087 + ] + ] + }, + { + "type": "text", + "version": 352, + "versionNonce": 634511609, + "isDeleted": false, + "id": "r5QpngwDotW31qiS-84QZ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1143.589111328125, + "y": 1301.7774454752603, + "strokeColor": "#000000", + "backgroundColor": "#82c91e", + "width": 337, + "height": 75, + "seed": 529830642, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "LQL7eklipWPJw7N6IV0k3" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Untracked Off-CPU Waiting Time\ne.g. I/O, Syscalls (unless on-CPU),\nSleep, Scheduler Backlog, etc.", + "baseline": 68, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 242, + "versionNonce": 665524055, + "isDeleted": false, + "id": "5nPCmBZUtW-sy9jSYVrnr", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 677.2958755453465, + "y": 1303.3024483091128, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 71.47162543402794, + "height": 0.00248566351797308, + "seed": 2009323314, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "qGeURJQ0SK2OA3yANfDzs", + "focus": -0.194383063549796, + "gap": 4.673326280381957 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 71.47162543402794, + 0.00248566351797308 + ] + ] + }, + { + "type": "arrow", + "version": 501, + "versionNonce": 36028281, + "isDeleted": false, + "id": "Zw3pCq23-wlOAG9qzCGEn", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 675.6552315783205, + "y": 1195.36276817402, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 124.66751299914404, + "height": 0, + "seed": 1500343342, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "xX3KMMOFeoWOYKAxIHlez", + "focus": -0.08419197923809406, + "gap": 9.55796866599428 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 124.66751299914404, + 0 + ] + ] + }, + { + "type": "text", + "version": 345, + "versionNonce": 630725049, + "isDeleted": false, + "id": "xX3KMMOFeoWOYKAxIHlez", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 459.0972629123262, + "y": 1183.9151679144961, + "strokeColor": "#000000", + "backgroundColor": "#82c91e", + "width": 207, + "height": 25, + "seed": 1832387353, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kBCBSYv6myf_GunPogGXE", + "Zw3pCq23-wlOAG9qzCGEn" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Off-CPU Mutex Wait", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 203, + "versionNonce": 1463938233, + "isDeleted": false, + "id": "qGeURJQ0SK2OA3yANfDzs", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 362.6225492649645, + "y": 1293.2277312816586, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 310, + "height": 25, + "seed": 1013246894, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "5nPCmBZUtW-sy9jSYVrnr" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Off-CPU Mutex + Channel Wait", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 1555, + "versionNonce": 756641785, + "isDeleted": false, + "id": "kBCBSYv6myf_GunPogGXE", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1136.375882316133, + "y": 1201.148154782728, + "strokeColor": "#000000", + "backgroundColor": "#82c91e", + "width": 73.68763800422926, + "height": 0, + "seed": 1548243191, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "o7HqqenoMX9Jbq_HhYpVp", + "focus": -0.11262693564109214, + "gap": 14.676232378519217 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -73.68763800422926, + 0 + ] + ] + }, + { + "type": "text", + "version": 426, + "versionNonce": 669605623, + "isDeleted": false, + "id": "o7HqqenoMX9Jbq_HhYpVp", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1151.0521146946521, + "y": 1187.2403180872143, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 293, + "height": 25, + "seed": 2043685486, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kBCBSYv6myf_GunPogGXE" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "On-CPU User and Kernel Time", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + } +} \ No newline at end of file diff --git a/guide/Makefile b/guide/Makefile new file mode 100644 index 0000000..d2800d1 --- /dev/null +++ b/guide/Makefile @@ -0,0 +1,11 @@ +.PHONY: scheduler.gif +scheduler.gif: + convert -delay 100 scheduler.*.png scheduler.gif + +.PHONY: stack.gif +stack.gif: + convert -delay 200 stack*.png stack.gif + +.PHONY: heap-gc.gif +heap-gc.gif: + convert -delay 200 heap-gc.*.png heap-gc.gif diff --git a/guide/README.md b/guide/README.md new file mode 100644 index 0000000..c3cf0a6 --- /dev/null +++ b/guide/README.md @@ -0,0 +1,144 @@ +โฌ… [Index of all go-profiler-notes](../README.md) +# The Busy Developers's Guide to Go Profiling, Tracing and Observability + +- **[Introduction](#introduction):** [Read This](#read-this) ยท [Mental Model for Go](#mental-model-for-go) ยท Profiling vs Tracing +- **Use Cases:** Reduce Costs ยท Reduce Latency ยท Memory Leaks ยท Program Hanging ยท Outages +- **Go Profilers**: CPU ยท Memory ยท Block ยท Mutex ยท Goroutine ยท ThreadCreate +- **Viewing Profiles**: Command Line ยท Flamegraph ยท Webgraph +- **Go Execution Tracer:** Timeline View ยท Derive Profiles +- **Other Tools:** time ยท perf ยท bpftrace +- **Advanced Topics:** Assembly ยท Stack Traces +- **Datadog Products:** Continuous Profiler ยท APM (Distributed Tracing) + +๐Ÿšง This document is a work in progress. All sections above will become clickable links over time. Follow me [on twitter](https://twitter.com/felixge) for updates. + +# Introduction + +## Read This + +This is a practical guide aimed at busy gophers interested in improving their programs using profiling and tracing. If you're not well versed in the internals of Go, it is recommended that you read the entire introduction first. After that you should feel free to jump to any section you are interested in. +## Mental Model for Go + +It is possible to become quite proficient in writing Go code without understanding how the language works under the hood. But when it comes to performance and debugging, you'll hugely benefit from having a mental model of the internals. Therefore we'll begin with laying out a rudimentary model of Go below. This model should be good enough to allow you to avoid the most common mistakes, but [all models are wrong](https://en.wikipedia.org/wiki/All_models_are_wrong), so you are encouraged to seek out more in-depth material to tackle harder problems in the future. + +Go's primary job is to multiplex and abstract hardware resources, similar to an operating system. This is generally accomplished using two major abstractions: + +1. **Goroutine Scheduler:** Manages how your code is being executed on the CPUs of your system. +2. **Garbage Collector:** Provides virtual memory that is automatically freed as needed. + + +### Goroutine Scheduler + +Let's talk about the scheduler first using the example below: + +```go +func main() { + res, err := http.Get("https://example.org/") + if err != nil { + panic(err) + } + fmt.Printf("%d\n", res.StatusCode) +} +``` + +Here we have a single goroutine, let's call it `G1`, that runs the `main` function. The picture below shows a simplified timeline of how this goroutine might execute on a single CPU. Initially `G1` is running on the CPU to prepare the http request. Then the CPU becomes idle as the goroutine has to wait for the network. And finally it gets scheduled onto the CPU again to print out the status code. + + + +From the scheduler's perspective, the program above executes like shown below. At first `G1` is `Executing` on `CPU 1`. Then the goroutine is taken off the CPU while `Waiting` for the network. Once the scheduler notices that the network has replied (using non-blocking I/O, similar to to Node.js), it marks the goroutine as `Runnable`. And as soon as a CPU core becomes available, the goroutine starts `Executing` again. In our case all cores are available, so `G1` can go back to `Executing` the `fmt.Printf()` function on one of the CPUs immediately without spending any time in the `Runnable` state. + + + +Most of the time, Go programs are running multiple goroutines, so you will have a few goroutines `Executing` on some of the CPU cores, a large number of goroutines `Waiting` for various reasons, and ideally no goroutines `Runnable` unless your program exhibits very high CPU load. An example of this can be seen below. + + + +Of course the model above glosses over many details. In reality it's turtles all the way down, and the Go scheduler works on top of threads managed by the operating system, and even CPUs themselves are capable of hyper-threading which can be seen as a form of scheduling. So if you're interested, feel free to continue down this rabbit hole via Ardan labs series on [Scheduling in Go](https://www.ardanlabs.com/blog/2018/08/scheduling-in-go-part1.html) or similar material. + +However, the model above should be sufficient to understand the remainder of this guide. In particular it should become clear that the time measured by the various Go profilers is essentially the time your goroutines are spending in the `Executing` and `Waiting` states as illustrated by the diagram below. + + + +### Garbage Collector + +The other major abstraction in Go is the garbage collector. In languages like C, the programmer needs to manually deal with allocating and releasing memory using `malloc()` and `free()`. This offers great control, but turns out to be very error prone in practice. A garbage collector can reduce this burden, but the automatic management of memory can easily become a performance bottleneck. This section of the guide will present a simple model for Go's GC that should be useful for identifying and optimizing memory management related problems. + +#### The Stack + +Let's start with the basics. Go can allocate memory in one of two places, the stack or the heap. Each goroutine has its own stack which is a contiguous area of memory. Additionally there is a big area of memory shared between goroutines that is called the heap. This can be seen in the picture below. + + + +When a function calls another function it gets its own section on the stack called a stack frame where it can place things like local variables. A stack pointer is used to identify the next free spot in the frame. When a function returns, the data from the last frame is discarded by simply moving the stack pointer back to end of the previous frame. The frame's data itself can linger on the stack, and gets overwritten by the next function call. This is very simple and efficient as Go doesn't have to keep track of each variable. + +To make this a little more intuitive, let's look at the example below: + +```go +func main() { + sum := 0 + sum = add(23, 42) + fmt.Println(sum) +} + +func add(a, b int) int { + return a + b +} +``` + +Here we have a `main()` function that starts out by reserving some space on the stack for the variable `sum`. When the `add()` function gets called, it gets its own frame to hold the local `a` and `b` parameters. Once the `add()` returns, its data is discarded by moving the stack pointer back to the end of the `main()` function's frame, and the `sum` variable gets updated with the result. Meanwhile the old values of `add()` linger beyond the stack pointer to be overwritten by the next function call. Below is a visualization of this process: + + + +The example above is highly simplified and omits many details around return values, frame pointers, return addresses and function inlining. In fact, as of Go 1.17, the program above may not even need any space on the stack as the small amount of data can be managed using CPU registers by the compiler. But that's okay. This model should still give you a reasonable intuition for the way non-trivial Go programs allocate and discard local variables on the stack. + +One thing you might wonder at this point is what happens if you run out of space on the stack. In languages like C this would cause a stack overflow error. Go on the other hand automatically deals with this problem by making a copy of the stack that's twice as big. This allows goroutines to start out with very small, typically 2 KiB stacks, and is one of the key ingredients for [making goroutines more scalable](https://golang.org/doc/faq#goroutines) than operating system threads. + +Another aspect of the stack is how it's involved in creating stack traces. This is a bit more advanced, but if you're interested check out the [Stack Traces in Go](../stack-traces.md) document in this repo. +#### The Heap + +Stack allocations are great, but there are many situations where Go can't utilize them. The most common one is returning a pointer to a local variable of a function. This can be seen in this modified version of our `add()` example from above: + +```go +func main() { + fmt.Println(*add(23, 42)) +} + +func add(a, b int) *int { + sum := a + b + return &sum +} +``` + +Normally Go would be able to allocate the `sum` variable inside of the `add()` function on the stack. But as we've learned, this data gets discarded when the `add()` function returns. So in order to safely return a `&sum` pointer, Go has to allocate the memory for it from outside of the stack. And that's where the heap comes in. + +The heap is used for storing memory that might outlive the function that creates it, as well as for any data that is shared between goroutines using pointers. However, this raises the question of how this memory gets freed. Because unlike stack allocations, heap allocations can't be discarded when the function that created them returns. + +Go solves this problem using its built-in garbage collector. The details of its implementation are very complex, but from a birds eye view, it keeps track of your memory as shown in the picture below. Here you can see three goroutines that have pointers to green allocations on the heap. Some of these allocations also have pointers to other allocations shown in green. Additionally there are grey allocations that may point to the green allocations or each other, but they are not referenced by a green allocation themselves. Those allocations were once reachable, but are now considered to be garbage. This can happen if the function that allocated their pointers on the stack returned, or their value was overwritten. The GC is responsible for automatically identifying and freeing those allocations. + + + +Performing GC involves a lot of expensive graph traversal and cache thrashing. It even requires regular stop-the-world phases that halt the execution of your entire program. Luckily recent versions of Go have gotten this down to fractions of a millisecond, but much of the remaining overhead is inherent to any GC. In fact, it's not uncommon that 20-30% of a Go program's execution are spend on memory management. + +Generally speaking the costs of GC is proportional to the amount of heap allocations your program performs. So when it comes to optimizing the memory related overhead of your program, the mantra is: + +- **Reduce**: Try to to turn heap allocations into stack allocations or avoid them alltogether. +- **Reuse:** Reuse heap allocations rather than replacing them with new ones. +- **Recycle:** Some heap allocations can't be avoided. Let the GC recycle them and focus on other issues. + +As with the previous mental model in this guide, everything above is an extremely simplified view of reality. But hopefully it will be good enough to make sense out of the remainder of this guide, and inspire you to read more articles on the subject. One article you should definitely read is [Getting to Go: The Journey of Go's Garbage Collector](https://go.dev/blog/ismmkeynote) which gives you a good idea of how Go's GC has advanced over the years, and the pace at which it is improving. + +# Disclaimers + +I'm [felixge](https://github.com/felixge) and work at [Datadog](https://www.datadoghq.com/) on [Continuous Profiling](https://www.datadoghq.com/product/code-profiling/) for Go. You should check it out. We're also [hiring](https://www.datadoghq.com/jobs-engineering/#all&all_locations) : ). + +The information on this page is believed to be correct, but no warranty is provided. Feedback is welcome! + + \ No newline at end of file diff --git a/guide/guide.excalidraw b/guide/guide.excalidraw new file mode 100644 index 0000000..2d7e8ee --- /dev/null +++ b/guide/guide.excalidraw @@ -0,0 +1,9674 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "type": "ellipse", + "version": 582, + "versionNonce": 370042759, + "isDeleted": false, + "id": "OkVhsngC1W_qO9sNi0ZKD", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 712.7630954318577, + "y": 1691.0786736165592, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 392.02349853515625, + "height": 388.1683520208971, + "seed": 1622389102, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 474, + "versionNonce": 1712519273, + "isDeleted": false, + "id": "zi6i3xeoTlw2jmvkvo0MH", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 843.216566297743, + "y": 2013.7371995713975, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 148, + "height": 25, + "seed": 1862147767, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Goroutine Time", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "ellipse", + "version": 589, + "versionNonce": 1929764519, + "isDeleted": false, + "id": "YREBQWDaV41cof7PNs-br", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 717.9230046707648, + "y": 1779.1268174913191, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 218.25456981428613, + "height": 216.10826137312208, + "seed": 2138441529, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 416, + "versionNonce": 264897353, + "isDeleted": false, + "id": "GLANOsn9G3AgWIiZsTm0k", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 772.6275160047743, + "y": 1939.7213914659287, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 105, + "height": 25, + "seed": 1548483929, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Block Time", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "ellipse", + "version": 726, + "versionNonce": 742486471, + "isDeleted": false, + "id": "4JSZd_8EU30-i5ZTcEMII", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 756.3474011055642, + "y": 1780.2600572374129, + "strokeColor": "#000000", + "backgroundColor": "#f0e442", + "width": 143.066548976275, + "height": 141.65963712110846, + "seed": 714197463, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 512, + "versionNonce": 1209840169, + "isDeleted": false, + "id": "9INmL5p1bzQ4ybvAY_FvP", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 771.523206922743, + "y": 1841.7550828721787, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 114, + "height": 25, + "seed": 2132545303, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Mutex Time", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "ellipse", + "version": 878, + "versionNonce": 1524474087, + "isDeleted": false, + "id": "WowgALfO30J7LlVnLjWSY", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 951.207475970678, + "y": 1783.299605781229, + "strokeColor": "#000000", + "backgroundColor": "#cc79a7", + "width": 140.0686567283485, + "height": 138.69122604941987, + "seed": 460035961, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 372, + "versionNonce": 66487561, + "isDeleted": false, + "id": "Y_QmsQGgj_OEe1xJWA90D", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 976.2918531629771, + "y": 1843.804430129734, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 94, + "height": 25, + "seed": 513434745, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU Time", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "arrow", + "version": 1098, + "versionNonce": 1080486919, + "isDeleted": false, + "id": "LQL7eklipWPJw7N6IV0k3", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1132.4927576843652, + "y": 1962.5073939771673, + "strokeColor": "#000000", + "backgroundColor": "#82c91e", + "width": 143.21759763662203, + "height": 2.465950613761379, + "seed": 1019757362, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "r5QpngwDotW31qiS-84QZ", + "focus": 0.09220703124999285, + "gap": 9.483194464072312 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -143.21759763662203, + 2.465950613761379 + ] + ] + }, + { + "type": "text", + "version": 565, + "versionNonce": 248708073, + "isDeleted": false, + "id": "r5QpngwDotW31qiS-84QZ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1141.9759521484375, + "y": 1925.7775370279946, + "strokeColor": "#000000", + "backgroundColor": "#82c91e", + "width": 323, + "height": 75, + "seed": 529830642, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "LQL7eklipWPJw7N6IV0k3" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Untracked Off-CPU Waiting Time\ne.g. I/O Syscalls, Sleep,\nScheduler Backlog, etc.", + "baseline": 68, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 440, + "versionNonce": 953799463, + "isDeleted": false, + "id": "b9D6KVUUMxC7neB0wBweQ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 677.0378189047215, + "y": 1929.8382396518973, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 71.72968207465294, + "height": 0.0024914398741202604, + "seed": 2020454164, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "focus": -0.1943830635497849, + "gap": 4.673326280381957, + "elementId": "idBTLSmJ8dNI5v58hQXmi" + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 71.72968207465294, + 0.0024914398741202604 + ] + ] + }, + { + "type": "arrow", + "version": 692, + "versionNonce": 951949001, + "isDeleted": false, + "id": "Zw3pCq23-wlOAG9qzCGEn", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 675.6552315783205, + "y": 1821.8985652931606, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 124.66751299914404, + "height": 0, + "seed": 1500343342, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "xX3KMMOFeoWOYKAxIHlez", + "focus": -0.08419197923809406, + "gap": 9.55796866599428 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 124.66751299914404, + 0 + ] + ] + }, + { + "type": "text", + "version": 487, + "versionNonce": 1822611015, + "isDeleted": false, + "id": "xX3KMMOFeoWOYKAxIHlez", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 459.0972629123262, + "y": 1810.4509650336367, + "strokeColor": "#000000", + "backgroundColor": "#82c91e", + "width": 207, + "height": 25, + "seed": 1832387353, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kBCBSYv6myf_GunPogGXE", + "Zw3pCq23-wlOAG9qzCGEn" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Off-CPU Mutex Wait", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 350, + "versionNonce": 1146213801, + "isDeleted": false, + "id": "idBTLSmJ8dNI5v58hQXmi", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 362.6225492649645, + "y": 1919.7635284007993, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 310, + "height": 25, + "seed": 1725162028, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "b9D6KVUUMxC7neB0wBweQ" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Off-CPU Mutex + Channel Wait", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 1746, + "versionNonce": 1117680999, + "isDeleted": false, + "id": "kBCBSYv6myf_GunPogGXE", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1136.375882316133, + "y": 1827.6839519018686, + "strokeColor": "#000000", + "backgroundColor": "#82c91e", + "width": 73.68763800422926, + "height": 0, + "seed": 1548243191, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "o7HqqenoMX9Jbq_HhYpVp", + "focus": -0.11262693564109212, + "gap": 14.676232378519217 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -73.68763800422926, + 0 + ] + ] + }, + { + "type": "text", + "version": 568, + "versionNonce": 347814025, + "isDeleted": false, + "id": "o7HqqenoMX9Jbq_HhYpVp", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1151.0521146946521, + "y": 1813.776115206355, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 293, + "height": 25, + "seed": 2043685486, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kBCBSYv6myf_GunPogGXE" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "On-CPU User and Kernel Time", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 450, + "versionNonce": 303640711, + "isDeleted": false, + "id": "7WMH9KN-tbBOlIDfTt0wf", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 751.0310982558506, + "y": 51.65482987378084, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 558.5327657063802, + "height": 49.4750340779625, + "seed": 2068381588, + "groupIds": [ + "jl-fOgEsF5ClBl3CAZOJ8" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "rectangle", + "version": 471, + "versionNonce": 464863081, + "isDeleted": false, + "id": "zgPtt_XrrrsApnnpHd0Yo", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 751.9316923313714, + "y": 52.84923193270026, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 1170383892, + "groupIds": [ + "WHH94uMkBQ9KpFHpWVoUf", + "lCUG46bkk9ioWcxnUlf7x" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 263, + "versionNonce": 349144999, + "isDeleted": false, + "id": "IzqlGXVePiF5pVILfn_VF", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 765.7088665392708, + "y": 64.33960872306488, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 21, + "height": 25, + "seed": 394068372, + "groupIds": [ + "WHH94uMkBQ9KpFHpWVoUf", + "lCUG46bkk9ioWcxnUlf7x" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 575, + "versionNonce": 126577225, + "isDeleted": false, + "id": "nI6iYIRetmhoRBgAEpAJ8", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1260.3679411106682, + "y": 51.84923193270026, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 75632276, + "groupIds": [ + "HA_zr_eMMIfCMBo-foWMb", + "0Sdf_R6OTv725rygFd0Ia" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 369, + "versionNonce": 418249415, + "isDeleted": false, + "id": "IVWdZXOLXx0b4yYcO0CTo", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1274.1451153185676, + "y": 63.339608723064885, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 21, + "height": 25, + "seed": 123393196, + "groupIds": [ + "HA_zr_eMMIfCMBo-foWMb", + "0Sdf_R6OTv725rygFd0Ia" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 889, + "versionNonce": 823736617, + "isDeleted": false, + "id": "fpnSWiMibT_VRMwaL6mBB", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 799.9115812473871, + "y": 53.17184088045417, + "strokeColor": "#000000", + "backgroundColor": "#868e96", + "width": 460.1418558756507, + "height": 47.51310984293622, + "seed": 986025132, + "groupIds": [ + "fNs0bwnCrvBfXhv7cpZbu", + "ZyjEK_y3dOqelv56tUKrE" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 494, + "versionNonce": 1930496487, + "isDeleted": false, + "id": "1i0zRLkdmJq_CSVjIincX", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1000.566105308802, + "y": 64.66221767081879, + "strokeColor": "#000000", + "backgroundColor": "#cc79a7", + "width": 38, + "height": 25, + "seed": 843519788, + "groupIds": [ + "fNs0bwnCrvBfXhv7cpZbu", + "ZyjEK_y3dOqelv56tUKrE" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Idle", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 578, + "versionNonce": 1237986313, + "isDeleted": false, + "id": "TMLbWzlkQbI5yNXEmJp5C", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 693.1575732721267, + "y": 65.80503993644373, + "strokeColor": "#000000", + "backgroundColor": "#cc79a7", + "width": 40, + "height": 25, + "seed": 264997932, + "groupIds": [ + "9wX2OkIWDR7ojVSkp7_Cm", + "jP04Om8_OtXgPB4eTAmwg" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 1077, + "versionNonce": 809841927, + "isDeleted": false, + "id": "pxYJKXx3VbA2a9UI3gzYh", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 755.4587318873257, + "y": 134.73093010545102, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 548.4739638124968, + "height": 0, + "seed": 1893910164, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 548.4739638124968, + 0 + ] + ] + }, + { + "type": "text", + "version": 761, + "versionNonce": 1234813673, + "isDeleted": false, + "id": "7Kh9Oo1gjPcSrXcjFH9D1", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1322.6392779840407, + "y": 121.31670528068202, + "strokeColor": "#000000", + "backgroundColor": "#cc79a7", + "width": 44, + "height": 25, + "seed": 943949612, + "groupIds": [ + "evAX4z5maJYuMCsblwMIR", + "yvfjPn3VZUFN9F2zQg0dO" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Time", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 717, + "versionNonce": 134675495, + "isDeleted": false, + "id": "kysfG00qr-meVH7EZDtS9", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 754.4561572565017, + "y": 154.00132899894373, + "strokeColor": "#000000", + "backgroundColor": "#cc79a7", + "width": 37, + "height": 25, + "seed": 1882313876, + "groupIds": [ + "P2NaHYGKTWQ6iTJ2naXWw", + "tveIUfounXQQr_ecZAbB_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "0ms", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 790, + "versionNonce": 487816649, + "isDeleted": false, + "id": "Y39vGXE1U22Ac4BPBSmeW", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1251.8633533014236, + "y": 154.00132899894373, + "strokeColor": "#000000", + "backgroundColor": "#cc79a7", + "width": 56, + "height": 25, + "seed": 1361075988, + "groupIds": [ + "g5LItfxgtWgE33GJQdVG-", + "cHpo6ZF1nFE569DYKFAer" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "100ms", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 1327, + "versionNonce": 239263559, + "isDeleted": false, + "id": "_av8seTffaAiLijD_ppBG", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 775.4710915064663, + "y": 0.2868840849432175, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 0, + "height": 31.370544433593743, + "seed": 1812468012, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 31.370544433593743 + ] + ] + }, + { + "type": "text", + "version": 701, + "versionNonce": 324197545, + "isDeleted": false, + "id": "TdQJPlodhEtbt-mNhj-wJ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 728.6880755914626, + "y": -41.4833969532047, + "strokeColor": "#000000", + "backgroundColor": "#cc79a7", + "width": 101, + "height": 25, + "seed": 298126252, + "groupIds": [ + "IeYpQkJn4_xI9PcS9hswf", + "exILPS57nCYXnSDYQld3z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "http.Get()", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 1407, + "versionNonce": 626351719, + "isDeleted": false, + "id": "in_WcxPoM7VIMJovRAj_d", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1019.4930794215053, + "y": 0.2868840849432175, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 0, + "height": 31.370544433593743, + "seed": 610781844, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 31.370544433593743 + ] + ] + }, + { + "type": "text", + "version": 793, + "versionNonce": 201547657, + "isDeleted": false, + "id": "wn37Wj9JQ4en4z_AGLhJa", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 957.7100635065017, + "y": -41.4833969532047, + "strokeColor": "#000000", + "backgroundColor": "#cc79a7", + "width": 131, + "height": 25, + "seed": 1673091092, + "groupIds": [ + "Aq5gyZXXbJ_FloMs7uLQ9", + "OOKuTx-6HCd8-I6pr5dHh" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Network Wait", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 1461, + "versionNonce": 806025607, + "isDeleted": false, + "id": "8O0EpDxmN9RR3j7AC4gQl", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1283.3170845484583, + "y": 0.2868840849432175, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 0, + "height": 31.370544433593743, + "seed": 408262316, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 31.370544433593743 + ] + ] + }, + { + "type": "text", + "version": 861, + "versionNonce": 1700824681, + "isDeleted": false, + "id": "G5xevVDPJNfxllc4DMo76", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1231.5340686334548, + "y": -41.4833969532047, + "strokeColor": "#000000", + "backgroundColor": "#cc79a7", + "width": 111, + "height": 25, + "seed": 1529132460, + "groupIds": [ + "0tAn9kSxfMo1ftnUYl64_", + "HoVERQNsuKIfKuGxqWAh-" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "fmt.Printf()", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 432, + "versionNonce": 60829863, + "isDeleted": false, + "id": "mVedCxrRlUz-toElS64Un", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 520.6311891304161, + "y": 874.9591647262107, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 56, + "height": 25, + "seed": 2065792404, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 677, + "versionNonce": 708170057, + "isDeleted": false, + "id": "4YOjxD4gZ5gUubEeNHaQs", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 522.9747560249474, + "y": 915.1540872793792, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 1329253908, + "groupIds": [ + "GJEwfPbgI_PqW6qEwgfmb" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 471, + "versionNonce": 432112583, + "isDeleted": false, + "id": "AUsSphxrLfHHkJ2y4y8Pm", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 536.7519302328467, + "y": 926.6444640697438, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 21, + "height": 25, + "seed": 1415572372, + "groupIds": [ + "GJEwfPbgI_PqW6qEwgfmb" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 515, + "versionNonce": 2145304617, + "isDeleted": false, + "id": "cq3TcK17BU4JAHjrt_do8", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 514.76250965993, + "y": 907.6019361292053, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 1954280980, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 464, + "versionNonce": 42693351, + "isDeleted": false, + "id": "EyOqwf9_ItmY6H7c2dHXo", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 605.5176925619484, + "y": 874.6365939254295, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65, + "height": 25, + "seed": 121377684, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 2", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 578, + "versionNonce": 1413927689, + "isDeleted": false, + "id": "pkaJ2H8koZHjKj3Jmp4Ai", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 604.1490130914622, + "y": 907.2793653284241, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 1461485844, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 488, + "versionNonce": 378174983, + "isDeleted": false, + "id": "kRWzS6TjZ64jFbIg4qia5", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 516.3443917128815, + "y": 986.8051052101516, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 64, + "height": 25, + "seed": 2073247380, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 3", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 571, + "versionNonce": 1273596393, + "isDeleted": false, + "id": "jFTFelZ7BOVGHPuGrxXAQ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 514.7983593371218, + "y": 1019.7705237078729, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 1062945556, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 523, + "versionNonce": 1757095207, + "isDeleted": false, + "id": "yzQmc2FXFp14QvrHQWupf", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 606.5176925619484, + "y": 987.0918263337411, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 63, + "height": 25, + "seed": 509323668, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 4", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 597, + "versionNonce": 1876059337, + "isDeleted": false, + "id": "B3XGBIhxX-VfuQQNaT3hh", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 604.1490130914622, + "y": 1019.7704474139276, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 1373198100, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "arrow", + "version": 1078, + "versionNonce": 2022303815, + "isDeleted": false, + "id": "TI0_kjTQCO9wTd9gQrXFE", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 648.116641704109, + "y": 1139.2823107522404, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 114.98875647485352, + "height": 115.97638093677404, + "seed": 1950700692, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "focus": -0.5694118690509762, + "gap": 6.663718807062651, + "elementId": "Ewgn2yWEtpNFkUlnRJU3S" + }, + "endBinding": { + "focus": 0.44660042275180933, + "gap": 15.5557010374132, + "elementId": "S3JYye_holyQVqsnkla7p" + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 114.98875647485352, + 115.97638093677404 + ] + ] + }, + { + "type": "text", + "version": 436, + "versionNonce": 463266729, + "isDeleted": false, + "id": "Ewgn2yWEtpNFkUlnRJU3S", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 549.8661337918745, + "y": 1107.6185919451777, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 92, + "height": 25, + "seed": 861250068, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "TI0_kjTQCO9wTd9gQrXFE", + "6s2EkB3lOy2_L9lO1OvaR" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Executing", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 516, + "versionNonce": 601048935, + "isDeleted": false, + "id": "S3JYye_holyQVqsnkla7p", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 736.2028037137495, + "y": 1270.8143927264277, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 68, + "height": 25, + "seed": 369115028, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "TI0_kjTQCO9wTd9gQrXFE", + "ZAUoz15IZHZd-i_AccS3u" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Waiting", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 642, + "versionNonce": 729056905, + "isDeleted": false, + "id": "uHw3NTZsnwKWrorkSUoYQ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 401.56236860090223, + "y": 1270.8143927264277, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 83, + "height": 25, + "seed": 1417358612, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "ZAUoz15IZHZd-i_AccS3u", + "6s2EkB3lOy2_L9lO1OvaR" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Runnable", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 1388, + "versionNonce": 1491321479, + "isDeleted": false, + "id": "ZAUoz15IZHZd-i_AccS3u", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 727.1643184300148, + "y": 1284.3469020228995, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 236.0511013657939, + "height": 1.4177128096777096, + "seed": 809265812, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "S3JYye_holyQVqsnkla7p", + "focus": -0.10161964846888781, + "gap": 9.038485283734758 + }, + "endBinding": { + "elementId": "uHw3NTZsnwKWrorkSUoYQ", + "focus": -0.052849775383366354, + "gap": 6.55084846331863 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -236.0511013657939, + -1.4177128096777096 + ] + ] + }, + { + "type": "arrow", + "version": 1569, + "versionNonce": 1779748201, + "isDeleted": false, + "id": "6s2EkB3lOy2_L9lO1OvaR", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 445.0273290417564, + "y": 1260.2700231230292, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 112.81583187377134, + "height": 125.88252452817414, + "seed": 1274673172, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "focus": -0.35458262496880155, + "gap": 10.544369603398536, + "elementId": "uHw3NTZsnwKWrorkSUoYQ" + }, + "endBinding": { + "focus": 0.44115541013135945, + "gap": 1.7689066496773194, + "elementId": "Ewgn2yWEtpNFkUlnRJU3S" + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 112.81583187377134, + -125.88252452817414 + ] + ] + }, + { + "type": "arrow", + "version": 1452, + "versionNonce": 142072231, + "isDeleted": false, + "id": "r434qPWOqPMZwhgxF8LoJ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 385.88162922619284, + "y": 1218.2440374052558, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 628.422495916989, + "height": 0, + "seed": 61461908, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 628.422495916989, + 0 + ] + ] + }, + { + "type": "text", + "version": 785, + "versionNonce": 1053374537, + "isDeleted": false, + "id": "Fohu3JPHoP2VN2eCSICde", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 938.5561667508589, + "y": 1175.0538946795527, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 72, + "height": 25, + "seed": 600931884, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "TI0_kjTQCO9wTd9gQrXFE", + "6s2EkB3lOy2_L9lO1OvaR" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "On-CPU", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 971, + "versionNonce": 1471941831, + "isDeleted": false, + "id": "1RoD7H_4n3mjmPGg5B2-I", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 931.4379416532028, + "y": 1234.9585272479121, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 83, + "height": 25, + "seed": 97749524, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "TI0_kjTQCO9wTd9gQrXFE", + "6s2EkB3lOy2_L9lO1OvaR" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Off-CPU", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 783, + "versionNonce": 460146473, + "isDeleted": false, + "id": "MIEK_RwkYo832BgQfMGwf", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 755.6654908882288, + "y": 1307.4223062735198, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 1029338004, + "groupIds": [ + "wenXj_SAPO7r9hY7jZ3qY" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 579, + "versionNonce": 307026919, + "isDeleted": false, + "id": "4dcAd-Zl1OhUffVjN69FJ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 765.442665096128, + "y": 1318.9126830638843, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 29, + "height": 25, + "seed": 2054086932, + "groupIds": [ + "wenXj_SAPO7r9hY7jZ3qY" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G3", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 857, + "versionNonce": 711752201, + "isDeleted": false, + "id": "_v8mBomFa8xYf-dmAJW59", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 405.88735368119745, + "y": 1307.4223062735198, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 1198381332, + "groupIds": [ + "qGwir6q61-eLLbKx-xIYa" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 651, + "versionNonce": 1547093767, + "isDeleted": false, + "id": "LebLjhT0tzg0KO45RCxkD", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 419.66452788909675, + "y": 1318.9126830638843, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 21, + "height": 25, + "seed": 133797524, + "groupIds": [ + "qGwir6q61-eLLbKx-xIYa" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 877, + "versionNonce": 1019367657, + "isDeleted": false, + "id": "77XepDdr4H3lW9xlVrtxz", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 402.36687130001246, + "y": 1305.4373327899043, + "strokeColor": "transparent", + "backgroundColor": "#ffff", + "width": 326.5686543782556, + "height": 53.04143269856808, + "seed": 187802644, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "rectangle", + "version": 743, + "versionNonce": 603344423, + "isDeleted": false, + "id": "6YsaU_qlVamMQSR5bFZgZ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 611.1879518257286, + "y": 915.4766580801604, + "strokeColor": "#000000", + "backgroundColor": "#cc79a7", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 1816891156, + "groupIds": [ + "iTcQdSX-3DaZKQRmXzt5Q" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 539, + "versionNonce": 2012892105, + "isDeleted": false, + "id": "Zk7Vy00gnTjuOt6A5my5q", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 620.4651260336279, + "y": 926.967034870525, + "strokeColor": "#000000", + "backgroundColor": "#cc79a7", + "width": 30, + "height": 25, + "seed": 1940950164, + "groupIds": [ + "iTcQdSX-3DaZKQRmXzt5Q" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G2", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 813, + "versionNonce": 1417146695, + "isDeleted": false, + "id": "31ViDc7HkTDAbATmDzn8C", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 815.1807191597131, + "y": 1307.4223062735198, + "strokeColor": "#000000", + "backgroundColor": "#009e73", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 780242860, + "groupIds": [ + "66FdVG1XPYaaXQt6rE68J" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 611, + "versionNonce": 1143990953, + "isDeleted": false, + "id": "2poMTMAh7tpJLiEzpwvhd", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 824.9578933676124, + "y": 1318.9126830638843, + "strokeColor": "#000000", + "backgroundColor": "#009e73", + "width": 29, + "height": 25, + "seed": 1972025900, + "groupIds": [ + "66FdVG1XPYaaXQt6rE68J" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G4", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 855, + "versionNonce": 1192767591, + "isDeleted": false, + "id": "O1zzWDljPGVumCDMec0SL", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 880.0806215034631, + "y": 1307.4223062735198, + "strokeColor": "#000000", + "backgroundColor": "#d55e00", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 1052927508, + "groupIds": [ + "_fh_p8xEsPTipghZIKb3x" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 653, + "versionNonce": 2047782281, + "isDeleted": false, + "id": "FS_VmC9_AMUIFnI-XhyBl", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 890.3577957113624, + "y": 1318.9126830638843, + "strokeColor": "#000000", + "backgroundColor": "#d55e00", + "width": 28, + "height": 25, + "seed": 523535252, + "groupIds": [ + "_fh_p8xEsPTipghZIKb3x" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G5", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 1048, + "versionNonce": 1973652359, + "isDeleted": false, + "id": "gQzSnY5I3tq7boIgKbu4t", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 943.5016420112756, + "y": 1307.0996591787932, + "strokeColor": "#000000", + "backgroundColor": "#f0e442", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 2093174292, + "groupIds": [ + "sEsYpuvltyqS6LEin4jxG" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 846, + "versionNonce": 1355945065, + "isDeleted": false, + "id": "WndAj_Pr9u5gaeXERUSFa", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 953.2788162191749, + "y": 1318.5900359691577, + "strokeColor": "#000000", + "backgroundColor": "#f0e442", + "width": 29, + "height": 25, + "seed": 1020816276, + "groupIds": [ + "sEsYpuvltyqS6LEin4jxG" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G6", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "text", + "version": 855, + "versionNonce": 1817608871, + "isDeleted": false, + "id": "ZwcvwV0AUTRoOe0R9lm7K", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1003.8450156278119, + "y": 1331.6256262469356, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 16, + "height": 25, + "seed": 1694007444, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "TI0_kjTQCO9wTd9gQrXFE", + "6s2EkB3lOy2_L9lO1OvaR" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "...", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 1576, + "versionNonce": 205889353, + "isDeleted": false, + "id": "ZRzLB0VJVft0-wH2nI8Af", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 730.2178488797651, + "y": 1106.8050696063106, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 125, + "height": 100, + "seed": 1323275540, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "TI0_kjTQCO9wTd9gQrXFE", + "6s2EkB3lOy2_L9lO1OvaR" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Sleep Wait\nI/O Wait\nChannel Wait\nMutex Wait", + "baseline": 93, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 1506, + "versionNonce": 2078119367, + "isDeleted": false, + "id": "-CXtU03V2uahQr5d6LljT", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 550.8843527860151, + "y": 1299.0615774798457, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 156, + "height": 100, + "seed": 124553004, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "TI0_kjTQCO9wTd9gQrXFE", + "6s2EkB3lOy2_L9lO1OvaR" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Sleep Finished\nI/O Completed\nChannel Ready\nMutex Available", + "baseline": 93, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 1642, + "versionNonce": 1791282729, + "isDeleted": false, + "id": "AOOB8PcKRUz2-y7vgGtDG", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 301.4699088162885, + "y": 1235.5657126116816, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 137, + "height": 25, + "seed": 1726505492, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "TI0_kjTQCO9wTd9gQrXFE", + "6s2EkB3lOy2_L9lO1OvaR" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU Available", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1259, + "versionNonce": 727008487, + "isDeleted": false, + "id": "7BOCWm6AXmV94jDOJb_eN", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": -18.168472415110216, + "y": 2560.2080803833746, + "strokeColor": "#000000", + "backgroundColor": "#868e96", + "width": 127.04878743489621, + "height": 214.80617268880212, + "seed": 301210796, + "groupIds": [ + "usaKrkv3kRfoE0YXma8JW" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo", + "Ki3fLOokEGudLDkrOgY_H" + ] + }, + { + "type": "rectangle", + "version": 1126, + "versionNonce": 1396384009, + "isDeleted": false, + "id": "JFsumfAY9CmJYJKxK5li5", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": -18.168472415110216, + "y": 2486.704479309156, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 127.0487874348962, + "height": 73.54219563802111, + "seed": 1159964460, + "groupIds": [ + "usaKrkv3kRfoE0YXma8JW" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 743, + "versionNonce": 1783238663, + "isDeleted": false, + "id": "oN4N4cy0hhC9kRCDCRTkA", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -0.9237502607051624, + "y": 2513.952122673957, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 81, + "height": 25, + "seed": 788390316, + "groupIds": [ + "usaKrkv3kRfoE0YXma8JW" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "sum = 0", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1217, + "versionNonce": 1126438889, + "isDeleted": false, + "id": "wXre8ONnDnnalrY9McLwY", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 0, + "angle": 0, + "x": -17.910354739328966, + "y": 2559.8496819458746, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 126.27486165364617, + "height": 137.95821126302076, + "seed": 111987756, + "groupIds": [ + "usaKrkv3kRfoE0YXma8JW" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "8HXpAPDB-Upup8KCd8jS-", + "kDNQJn62Pa_mTnOpzEMXo" + ] + }, + { + "type": "text", + "version": 787, + "versionNonce": 45643559, + "isDeleted": false, + "id": "5xWjo_IcnN5waYQS4IFbu", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 0, + "angle": 0, + "x": -0.9237502607051624, + "y": 2585.1045884942696, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 74, + "height": 25, + "seed": 236611244, + "groupIds": [ + "usaKrkv3kRfoE0YXma8JW" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "a = 23", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "line", + "version": 468, + "versionNonce": 2089497289, + "isDeleted": false, + "id": "_GhXlZnE7o-3VLzJTfYNz", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 0, + "angle": 0, + "x": -15.644494075808552, + "y": 2629.772557244269, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 121.63745117187494, + "height": 0, + "seed": 972075308, + "groupIds": [ + "usaKrkv3kRfoE0YXma8JW" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 121.63745117187494, + 0 + ] + ] + }, + { + "type": "text", + "version": 822, + "versionNonce": 1259141703, + "isDeleted": false, + "id": "_YGfoudxXcoQp3KLX4Jjr", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 0, + "angle": 0, + "x": -0.9237502607051624, + "y": 2652.3498887872383, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 70, + "height": 25, + "seed": 1503243180, + "groupIds": [ + "usaKrkv3kRfoE0YXma8JW" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "b = 42", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 427, + "versionNonce": 1946939817, + "isDeleted": false, + "id": "zj-q8r5Fl-X3d5PNA5qxq", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": -139.84957220080855, + "y": 2511.5951890802066, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 55, + "height": 25, + "seed": 1061115436, + "groupIds": [ + "usaKrkv3kRfoE0YXma8JW" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "main()", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 453, + "versionNonce": 405018983, + "isDeleted": false, + "id": "9vq1gap3MenimTLfuh0cZ", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 0, + "angle": 0, + "x": -134.9548578453398, + "y": 2612.9894151544254, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 51, + "height": 25, + "seed": 1741402284, + "groupIds": [ + "usaKrkv3kRfoE0YXma8JW" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "add()", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 1975, + "versionNonce": 2127680649, + "isDeleted": false, + "id": "8HXpAPDB-Upup8KCd8jS-", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": -46.2039035019414, + "y": 2485.862317113591, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 0, + "height": 76.3713035253927, + "seed": 585677612, + "groupIds": [ + "usaKrkv3kRfoE0YXma8JW" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": { + "elementId": "wXre8ONnDnnalrY9McLwY", + "focus": -1.4481263870273335, + "gap": 28.293548762612424 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 76.3713035253927 + ] + ] + }, + { + "type": "arrow", + "version": 1833, + "versionNonce": 1390000841, + "isDeleted": false, + "id": "kDNQJn62Pa_mTnOpzEMXo", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 0, + "angle": 0, + "x": -44.8459933456914, + "y": 2562.670422582341, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 0, + "height": 135.22006608657784, + "seed": 989885868, + "groupIds": [ + "usaKrkv3kRfoE0YXma8JW" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "focus": 1.4266191742936614, + "gap": 26.935638606362424, + "elementId": "wXre8ONnDnnalrY9McLwY" + }, + "endBinding": { + "focus": -1.4266191742936618, + "gap": 26.93563860636243, + "elementId": "wXre8ONnDnnalrY9McLwY" + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 135.22006608657784 + ] + ] + }, + { + "type": "ellipse", + "version": 364, + "versionNonce": 1083726697, + "isDeleted": false, + "id": "bHIPIvsr0Mm-IYLjAg9Um", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": -135.97951604846486, + "y": 2423.840916619269, + "strokeColor": "transparent", + "backgroundColor": "#cc79a7", + "width": 31.78515625, + "height": 31.78515625, + "seed": 490528812, + "groupIds": [ + "T5CpR1wrj4r82zx9Eiqcy", + "usaKrkv3kRfoE0YXma8JW" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 247, + "versionNonce": 2017209255, + "isDeleted": false, + "id": "Mg_3cjf3oL9EId-pxCPrp", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": -122.58693792346486, + "y": 2427.233494744269, + "strokeColor": "#fff", + "backgroundColor": "#cc79a7", + "width": 5, + "height": 25, + "seed": 25688748, + "groupIds": [ + "T5CpR1wrj4r82zx9Eiqcy", + "usaKrkv3kRfoE0YXma8JW" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "text", + "version": 831, + "versionNonce": 1504380489, + "isDeleted": false, + "id": "586WPekfFqfpVN6U8uLNC", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -4.923750260705162, + "y": 2628.3223183352293, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 105, + "height": 25, + "seed": 311149868, + "groupIds": [ + "usaKrkv3kRfoE0YXma8JW" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "free space", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 400, + "versionNonce": 791027399, + "isDeleted": false, + "id": "EpUG5oXliJkU_703h5VYs", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 521.4478395210411, + "y": 312.2779666060935, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 56, + "height": 25, + "seed": 105196948, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 644, + "versionNonce": 1424315689, + "isDeleted": false, + "id": "cZoDGlK-o4Qvwi9xFICMd", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 523.7914064155724, + "y": 352.47288915926197, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 1307614868, + "groupIds": [ + "ZcAArmDJLzIR3dCD_7FbZ", + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 438, + "versionNonce": 1453632999, + "isDeleted": false, + "id": "b9sQokVnp7-BJm_nnUjDG", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 537.5685806234717, + "y": 363.9632659496266, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 21, + "height": 25, + "seed": 218606612, + "groupIds": [ + "ZcAArmDJLzIR3dCD_7FbZ", + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 483, + "versionNonce": 1437779977, + "isDeleted": false, + "id": "2zbusubcNWKkw4n1NYPt2", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 515.579160050555, + "y": 344.9207380090882, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 872261140, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 432, + "versionNonce": 700733703, + "isDeleted": false, + "id": "g14yNNtKETecXAx-Mxhjm", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 606.3343429525734, + "y": 311.95539580531226, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65, + "height": 25, + "seed": 1258800020, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 2", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 546, + "versionNonce": 101637865, + "isDeleted": false, + "id": "0st14DzRx2bQI5j_YYVLo", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 604.9656634820872, + "y": 344.59816720830696, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 99758356, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 456, + "versionNonce": 1308729383, + "isDeleted": false, + "id": "-yadHPZoKe4sfYzspeuKv", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 517.1610421035065, + "y": 424.1239070900345, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 64, + "height": 25, + "seed": 607317652, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 3", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 537, + "versionNonce": 1149573577, + "isDeleted": false, + "id": "TaJyM7rnZ7ySNWQel2l_i", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 515.6150097277468, + "y": 457.08932558775575, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 109050900, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 491, + "versionNonce": 88671047, + "isDeleted": false, + "id": "FglrO3SUGIzHiMnry5PYj", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 607.3343429525734, + "y": 424.4106282136239, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 63, + "height": 25, + "seed": 114252180, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 4", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 565, + "versionNonce": 305199273, + "isDeleted": false, + "id": "bSj3_L0J33WuWABKeph6T", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 604.9656634820872, + "y": 457.08924929381044, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 1347880724, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "arrow", + "version": 971, + "versionNonce": 536281703, + "isDeleted": false, + "id": "IYhWDh2h-JfKk9FvGdSK7", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 648.933292094734, + "y": 576.6011126321232, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 114.98875647485352, + "height": 115.97638093677404, + "seed": 931988628, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "cbV0yxZC9eUHww_yE40iO", + "focus": -0.5694118690509757, + "gap": 6.663718807062651 + }, + "endBinding": { + "elementId": "Q3f2nhl-RIgFFYtlNeuIZ", + "focus": 0.44660042275181233, + "gap": 15.555701037413314 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 114.98875647485352, + 115.97638093677404 + ] + ] + }, + { + "type": "text", + "version": 406, + "versionNonce": 1086192521, + "isDeleted": false, + "id": "cbV0yxZC9eUHww_yE40iO", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 550.6827841824995, + "y": 544.9373938250606, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 92, + "height": 25, + "seed": 304566804, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "IYhWDh2h-JfKk9FvGdSK7", + "Vfy3nx_AYuDi3t6DAoPB4" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Executing", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 486, + "versionNonce": 785915271, + "isDeleted": false, + "id": "Q3f2nhl-RIgFFYtlNeuIZ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 737.0194541043745, + "y": 708.1331946063106, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 68, + "height": 25, + "seed": 253489044, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "IYhWDh2h-JfKk9FvGdSK7", + "ScgJx0hzEpsQiQQDRwSeF" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Waiting", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 612, + "versionNonce": 1617404521, + "isDeleted": false, + "id": "JWM48ihnA_OUu5ncIm0M-", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 402.37901899152723, + "y": 708.1331946063106, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 83, + "height": 25, + "seed": 245423380, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "ScgJx0hzEpsQiQQDRwSeF", + "Vfy3nx_AYuDi3t6DAoPB4" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Runnable", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 1288, + "versionNonce": 1965610151, + "isDeleted": false, + "id": "ScgJx0hzEpsQiQQDRwSeF", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 727.9809688206398, + "y": 721.6657039027823, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 236.0511013657939, + "height": 1.4177128096777096, + "seed": 2049710740, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "Q3f2nhl-RIgFFYtlNeuIZ", + "focus": -0.10161964846888934, + "gap": 9.038485283734758 + }, + "endBinding": { + "elementId": "JWM48ihnA_OUu5ncIm0M-", + "focus": -0.052849775383377, + "gap": 6.55084846331863 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -236.0511013657939, + -1.4177128096777096 + ] + ] + }, + { + "type": "arrow", + "version": 1462, + "versionNonce": 1845062985, + "isDeleted": false, + "id": "Vfy3nx_AYuDi3t6DAoPB4", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 445.8439794323814, + "y": 697.5888250029121, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 112.81583187377134, + "height": 125.88252452817414, + "seed": 477341716, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "JWM48ihnA_OUu5ncIm0M-", + "focus": -0.35458262496879955, + "gap": 10.544369603398422 + }, + "endBinding": { + "elementId": "cbV0yxZC9eUHww_yE40iO", + "focus": 0.4411554101313577, + "gap": 1.768906649677433 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 112.81583187377134, + -125.88252452817414 + ] + ] + }, + { + "type": "arrow", + "version": 1315, + "versionNonce": 446015431, + "isDeleted": false, + "id": "WkGgapYkKDJ6NDuZQs_eb", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 386.69827961681784, + "y": 622.5239751493964, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 470.8899946962859, + "height": 0, + "seed": 2037220756, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 470.8899946962859, + 0 + ] + ] + }, + { + "type": "text", + "version": 664, + "versionNonce": 1087298601, + "isDeleted": false, + "id": "xuVBbiENMMfW_xFVZOC9g", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 787.842818362187, + "y": 579.0111853289668, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 72, + "height": 25, + "seed": 642757396, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "IYhWDh2h-JfKk9FvGdSK7", + "Vfy3nx_AYuDi3t6DAoPB4" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "On-CPU", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 730, + "versionNonce": 490411751, + "isDeleted": false, + "id": "UubfWDSg9fopPfnnCIOiT", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 776.0587607449995, + "y": 638.9158178973262, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 83, + "height": 25, + "seed": 563097748, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "IYhWDh2h-JfKk9FvGdSK7", + "Vfy3nx_AYuDi3t6DAoPB4" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Off-CPU", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 748, + "versionNonce": 953380617, + "isDeleted": false, + "id": "X17OteAeWXfCxwqMrPNm2", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 756.4821412788538, + "y": 744.7411081534026, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 719650324, + "groupIds": [ + "sYapVJDcQrdpr3g-3h5_z", + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 542, + "versionNonce": 61186567, + "isDeleted": false, + "id": "nw1jSZtyP1pw_ChW9Al1J", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 770.259315486753, + "y": 756.2314849437672, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 21, + "height": 25, + "seed": 457448340, + "groupIds": [ + "sYapVJDcQrdpr3g-3h5_z", + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 825, + "versionNonce": 746759657, + "isDeleted": false, + "id": "aWz1Nc75oc9Vu91IwQEux", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 406.70400407182245, + "y": 744.7411081534026, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 1021544724, + "groupIds": [ + "TvMcFYTGF0OoZYGCPBr6K", + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 619, + "versionNonce": 1322371367, + "isDeleted": false, + "id": "KqnkkU4BW9LjmzmC3NJEC", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 420.48117827972175, + "y": 756.2314849437672, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 21, + "height": 25, + "seed": 590956180, + "groupIds": [ + "TvMcFYTGF0OoZYGCPBr6K", + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 766, + "versionNonce": 384303305, + "isDeleted": false, + "id": "xMHGCERPa4IRwGfbEPgZe", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 403.64494747188746, + "y": 742.4117132830683, + "strokeColor": "transparent", + "backgroundColor": "#ffff", + "width": 405.82539876302116, + "height": 53.041432698568, + "seed": 50025492, + "groupIds": [ + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "ellipse", + "version": 345, + "versionNonce": 741084231, + "isDeleted": false, + "id": "na2xYc-xSguGaM6s0A418", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 390.3762317193931, + "y": 259.48066096915863, + "strokeColor": "transparent", + "backgroundColor": "#cc79a7", + "width": 31.78515625, + "height": 31.78515625, + "seed": 169849236, + "groupIds": [ + "x09yZpIScscZc6LIQxiIZ", + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 228, + "versionNonce": 94306217, + "isDeleted": false, + "id": "lsx1-LrSyiOUpoX_MrK9K", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 403.7688098443931, + "y": 262.87323909415863, + "strokeColor": "#fff", + "backgroundColor": "#cc79a7", + "width": 5, + "height": 25, + "seed": 937189140, + "groupIds": [ + "x09yZpIScscZc6LIQxiIZ", + "w5JGgV01IQ6rl6m8E6P0z" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "text", + "version": 475, + "versionNonce": 1737550695, + "isDeleted": false, + "id": "i1-8QCyFrMv-p9Xpd7Ae7", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1096.8651674019004, + "y": 312.686291801406, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 56, + "height": 25, + "seed": 386901676, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 558, + "versionNonce": 1188242057, + "isDeleted": false, + "id": "aWAQADvEvDXEWIcPLdEGd", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1090.996487931414, + "y": 345.3290632044007, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 893163052, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 507, + "versionNonce": 491579015, + "isDeleted": false, + "id": "fd4dub_zNIv40ISsm4knC", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1181.7516708334326, + "y": 312.36372100062476, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65, + "height": 25, + "seed": 740356268, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 2", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 621, + "versionNonce": 1463806313, + "isDeleted": false, + "id": "G_7IIlnTwA3gz3UPk3-_N", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1180.3829913629463, + "y": 345.00649240361946, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 714472236, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 531, + "versionNonce": 740064679, + "isDeleted": false, + "id": "XkG-WA_bPWmSSe_Xw3xYk", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1092.5783699843657, + "y": 424.532232285347, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 64, + "height": 25, + "seed": 1527100844, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 3", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 612, + "versionNonce": 271635529, + "isDeleted": false, + "id": "b9zJEP9N0xii62X5ni45O", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1091.032337608606, + "y": 457.49765078306825, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 177872940, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 566, + "versionNonce": 1730949319, + "isDeleted": false, + "id": "6Aq9v4yei1kf6CLshx_dz", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1182.7516708334326, + "y": 424.8189534089364, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 63, + "height": 25, + "seed": 1362967212, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 4", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 640, + "versionNonce": 360801065, + "isDeleted": false, + "id": "PtsT8HgjVfRWM12zRECPP", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1180.3829913629463, + "y": 457.49757448912294, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 966329644, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "arrow", + "version": 1206, + "versionNonce": 135823335, + "isDeleted": false, + "id": "Ttbyj8gJlFKyXduwqOaFI", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1224.3506199755932, + "y": 577.0094378274357, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 114.98875647485352, + "height": 115.97638093677404, + "seed": 1763147692, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "ixU_jWzAWITi-E0Z0auL6", + "focus": -0.5694118690509757, + "gap": 6.663718807062651 + }, + "endBinding": { + "elementId": "2_zMqIjmb70bsiZ0SJ-Jw", + "focus": 0.44660042275181233, + "gap": 15.555701037413314 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 114.98875647485352, + 115.97638093677404 + ] + ] + }, + { + "type": "text", + "version": 483, + "versionNonce": 60626441, + "isDeleted": false, + "id": "ixU_jWzAWITi-E0Z0auL6", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1126.1001120633587, + "y": 545.345719020373, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 92, + "height": 25, + "seed": 1206037036, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "Ttbyj8gJlFKyXduwqOaFI", + "mxesWGZnnTetsGTrwwtcG" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Executing", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 563, + "versionNonce": 1626204935, + "isDeleted": false, + "id": "2_zMqIjmb70bsiZ0SJ-Jw", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1312.4367819852337, + "y": 708.541519801623, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 68, + "height": 25, + "seed": 686064812, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "Ttbyj8gJlFKyXduwqOaFI", + "Oqkgo1_cfAXpr0IKfUGad" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Waiting", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 689, + "versionNonce": 1568632041, + "isDeleted": false, + "id": "xHwvlb6Fqg6pq5u6HbSUl", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 977.7963468723865, + "y": 708.541519801623, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 83, + "height": 25, + "seed": 1908870956, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "Oqkgo1_cfAXpr0IKfUGad", + "mxesWGZnnTetsGTrwwtcG" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Runnable", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 1523, + "versionNonce": 1311306279, + "isDeleted": false, + "id": "Oqkgo1_cfAXpr0IKfUGad", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1303.398296701499, + "y": 722.0740290980948, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 236.0511013657939, + "height": 1.4177128096777096, + "seed": 1123305900, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "2_zMqIjmb70bsiZ0SJ-Jw", + "focus": -0.10161964846888928, + "gap": 9.038485283734644 + }, + "endBinding": { + "elementId": "xHwvlb6Fqg6pq5u6HbSUl", + "focus": -0.05284977538337706, + "gap": 6.550848463318744 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -236.0511013657939, + -1.4177128096777096 + ] + ] + }, + { + "type": "arrow", + "version": 1697, + "versionNonce": 984868809, + "isDeleted": false, + "id": "mxesWGZnnTetsGTrwwtcG", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1021.2613073132406, + "y": 697.9971501982246, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 112.81583187377134, + "height": 125.88252452817414, + "seed": 529937452, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "xHwvlb6Fqg6pq5u6HbSUl", + "focus": -0.3545826249687999, + "gap": 10.544369603398422 + }, + "endBinding": { + "elementId": "ixU_jWzAWITi-E0Z0auL6", + "focus": 0.44115541013135345, + "gap": 1.768906649677433 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 112.81583187377134, + -125.88252452817414 + ] + ] + }, + { + "type": "arrow", + "version": 1390, + "versionNonce": 1756763463, + "isDeleted": false, + "id": "Btb4xLc-z9fjJjGcIDdVM", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 962.115607497677, + "y": 622.9323003447089, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 470.8899946962859, + "height": 0, + "seed": 362204844, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 470.8899946962859, + 0 + ] + ] + }, + { + "type": "text", + "version": 737, + "versionNonce": 894830249, + "isDeleted": false, + "id": "gDwsOZwG463i2udbWnE8I", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1363.2601462430462, + "y": 579.4195105242793, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 72, + "height": 25, + "seed": 1704991020, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "Ttbyj8gJlFKyXduwqOaFI", + "mxesWGZnnTetsGTrwwtcG" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "On-CPU", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 803, + "versionNonce": 2012337255, + "isDeleted": false, + "id": "SurUJ5MgMRAUgCoLtD3a_", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1351.4760886258587, + "y": 639.3241430926387, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 83, + "height": 25, + "seed": 723260332, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "Ttbyj8gJlFKyXduwqOaFI", + "mxesWGZnnTetsGTrwwtcG" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Off-CPU", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 824, + "versionNonce": 403786121, + "isDeleted": false, + "id": "Dq3ZW9egFHIl4TSNHPE4y", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1331.899469159713, + "y": 745.1494333487151, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 642184236, + "groupIds": [ + "_B_bQUnQxoMhe1_f8llZe", + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 618, + "versionNonce": 598257543, + "isDeleted": false, + "id": "f2HRwBbj3cuM5_IIrXiDx", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1345.6766433676123, + "y": 756.6398101390797, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 21, + "height": 25, + "seed": 137334444, + "groupIds": [ + "_B_bQUnQxoMhe1_f8llZe", + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 900, + "versionNonce": 1277243497, + "isDeleted": false, + "id": "njHcN6NjHTSdGdoXc54Sh", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 982.1213319526817, + "y": 745.1494333487151, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 1738810156, + "groupIds": [ + "xkzoW-IleOWQnfSECxuYA", + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 694, + "versionNonce": 1712793255, + "isDeleted": false, + "id": "2K-3U-LOMQaQcI97cQYav", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 995.8985061605808, + "y": 756.6398101390797, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 21, + "height": 25, + "seed": 604954028, + "groupIds": [ + "xkzoW-IleOWQnfSECxuYA", + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 914, + "versionNonce": 122764105, + "isDeleted": false, + "id": "kKG9W2kW8jCxthuzESl_E", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 979.0622753527466, + "y": 742.8200384783808, + "strokeColor": "transparent", + "backgroundColor": "#ffff", + "width": 310.93434651692735, + "height": 53.041432698568, + "seed": 675170348, + "groupIds": [ + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "ellipse", + "version": 474, + "versionNonce": 1038727623, + "isDeleted": false, + "id": "QXEQ_7K7StE-uK8t_lqyZ", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1015.9781382357287, + "y": 259.6543614751955, + "strokeColor": "transparent", + "backgroundColor": "#cc79a7", + "width": 31.78515625, + "height": 31.78515625, + "seed": 610749332, + "groupIds": [ + "e52BdOSryXLFF-K1KDOwN", + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 358, + "versionNonce": 972876329, + "isDeleted": false, + "id": "hk9WU1heyhwGlPfW_hpgM", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1024.8707163607287, + "y": 263.0469396001955, + "strokeColor": "#fff", + "backgroundColor": "#cc79a7", + "width": 14, + "height": 25, + "seed": 438352148, + "groupIds": [ + "e52BdOSryXLFF-K1KDOwN", + "jfKEbexUflk3OHuoxk6td" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "2", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "text", + "version": 517, + "versionNonce": 540862695, + "isDeleted": false, + "id": "BF8pnrXvNMLBZqp9OMnyb", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1677.9108522163535, + "y": 312.3175522645756, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 56, + "height": 25, + "seed": 1305391124, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 600, + "versionNonce": 1024441609, + "isDeleted": false, + "id": "0KyUFyAcnWCNpU-MHHTAz", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1672.0421727458672, + "y": 344.9603236675703, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 229806508, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 549, + "versionNonce": 714945543, + "isDeleted": false, + "id": "8VGIdicJTo3YRlCCJMmIB", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1762.7973556478858, + "y": 311.9949814637944, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65, + "height": 25, + "seed": 1920730644, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 2", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 663, + "versionNonce": 1074082793, + "isDeleted": false, + "id": "Y_6MGa86lB1zUYFBXXsuU", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1761.4286761773994, + "y": 344.63775286678907, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 1801655980, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 573, + "versionNonce": 352787239, + "isDeleted": false, + "id": "1WOZUEdt1EwS7Xwfh-7RQ", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1673.6240547988189, + "y": 424.1634927485166, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 64, + "height": 25, + "seed": 1079546132, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 3", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 654, + "versionNonce": 1994968777, + "isDeleted": false, + "id": "b1Bewqm1gYhgX1gHbv2yO", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1672.078022423059, + "y": 457.12891124623786, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 184438932, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 608, + "versionNonce": 1676090951, + "isDeleted": false, + "id": "XnPYwr2oI7kEHBNOYrDU3", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1763.7973556478858, + "y": 424.450213872106, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 63, + "height": 25, + "seed": 1657691156, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 4", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 682, + "versionNonce": 139857321, + "isDeleted": false, + "id": "LM4OULrFPWB1rJquwZ6Ra", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1761.4286761773994, + "y": 457.12883495229255, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 1128030380, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "arrow", + "version": 1335, + "versionNonce": 1511636327, + "isDeleted": false, + "id": "_1m0pmMfBkeV4jIwSzC40", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1805.3963047900463, + "y": 576.6406982906053, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 114.98875647485352, + "height": 115.97638093677404, + "seed": 491065772, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "4y_7Gflj77k7x2fhmAXap", + "focus": -0.5694118690509757, + "gap": 6.663718807062651 + }, + "endBinding": { + "elementId": "3_1OD4bUTROyLh7wxSuIg", + "focus": 0.44660042275181233, + "gap": 15.555701037413314 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 114.98875647485352, + 115.97638093677404 + ] + ] + }, + { + "type": "text", + "version": 524, + "versionNonce": 997748873, + "isDeleted": false, + "id": "4y_7Gflj77k7x2fhmAXap", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1707.1457968778118, + "y": 544.9769794835427, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 92, + "height": 25, + "seed": 1505429676, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "_1m0pmMfBkeV4jIwSzC40", + "ZH4ZtDx5_n6n2FYUHwQFV" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Executing", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 604, + "versionNonce": 720074887, + "isDeleted": false, + "id": "3_1OD4bUTROyLh7wxSuIg", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1893.4824667996868, + "y": 708.1727802647927, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 68, + "height": 25, + "seed": 608547348, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "_1m0pmMfBkeV4jIwSzC40", + "M99qf4I6UQymAA6sr68ey" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Waiting", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 730, + "versionNonce": 1712027497, + "isDeleted": false, + "id": "dYkdwl7m-vH7EnsRPpvBi", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1558.8420316868396, + "y": 708.1727802647927, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 83, + "height": 25, + "seed": 242110356, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "M99qf4I6UQymAA6sr68ey", + "ZH4ZtDx5_n6n2FYUHwQFV" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Runnable", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 1652, + "versionNonce": 1813565351, + "isDeleted": false, + "id": "M99qf4I6UQymAA6sr68ey", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1884.4439815159521, + "y": 721.7052895612644, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 236.0511013657939, + "height": 1.4177128096777096, + "seed": 76413996, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "3_1OD4bUTROyLh7wxSuIg", + "focus": -0.10161964846888928, + "gap": 9.038485283734644 + }, + "endBinding": { + "elementId": "dYkdwl7m-vH7EnsRPpvBi", + "focus": -0.05284977538337706, + "gap": 6.550848463318744 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -236.0511013657939, + -1.4177128096777096 + ] + ] + }, + { + "type": "arrow", + "version": 1826, + "versionNonce": 442147401, + "isDeleted": false, + "id": "ZH4ZtDx5_n6n2FYUHwQFV", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1602.3069921276938, + "y": 697.6284106613942, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 112.81583187377134, + "height": 125.88252452817414, + "seed": 2090430892, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "dYkdwl7m-vH7EnsRPpvBi", + "focus": -0.3545826249687999, + "gap": 10.544369603398422 + }, + "endBinding": { + "elementId": "4y_7Gflj77k7x2fhmAXap", + "focus": 0.44115541013135345, + "gap": 1.768906649677433 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 112.81583187377134, + -125.88252452817414 + ] + ] + }, + { + "type": "arrow", + "version": 1432, + "versionNonce": 1204699847, + "isDeleted": false, + "id": "QBjQiMoNuI8If020jtvhW", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1543.1612923121302, + "y": 622.5635608078785, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 470.8899946962859, + "height": 0, + "seed": 1534035988, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 470.8899946962859, + 0 + ] + ] + }, + { + "type": "text", + "version": 778, + "versionNonce": 356610345, + "isDeleted": false, + "id": "PgJvuHs6Mk7-hzIJvQRZS", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1944.3058310574993, + "y": 579.0507709874489, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 72, + "height": 25, + "seed": 1459820076, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "_1m0pmMfBkeV4jIwSzC40", + "ZH4ZtDx5_n6n2FYUHwQFV" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "On-CPU", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 844, + "versionNonce": 1856524775, + "isDeleted": false, + "id": "YRk1fqfUlhqk9r1c8mkU_", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1932.5217734403118, + "y": 638.9554035558083, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 83, + "height": 25, + "seed": 1173841044, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "_1m0pmMfBkeV4jIwSzC40", + "ZH4ZtDx5_n6n2FYUHwQFV" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Off-CPU", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 865, + "versionNonce": 1814782985, + "isDeleted": false, + "id": "qbwwUdTU9zGh0Ls5D6M0u", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1912.945153974166, + "y": 744.7806938118847, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 1282419604, + "groupIds": [ + "ZybXpk-1t2z12yWuBb_dx", + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 659, + "versionNonce": 1236499719, + "isDeleted": false, + "id": "de9HPs3sf527qdlfpSXNb", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1926.7223281820654, + "y": 756.2710706022493, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 21, + "height": 25, + "seed": 235772180, + "groupIds": [ + "ZybXpk-1t2z12yWuBb_dx", + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 943, + "versionNonce": 2064906985, + "isDeleted": false, + "id": "8UHtBtCTCKip3ZLBXJaJc", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1563.1670167671348, + "y": 744.7806938118847, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 1157836844, + "groupIds": [ + "hOI6gNmiz6l0-MeL2PBw_", + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 737, + "versionNonce": 1819034663, + "isDeleted": false, + "id": "jjqML3_ADuqSV8--gmwSF", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1576.944190975034, + "y": 756.2710706022493, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 21, + "height": 25, + "seed": 2080656044, + "groupIds": [ + "hOI6gNmiz6l0-MeL2PBw_", + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 919, + "versionNonce": 310818249, + "isDeleted": false, + "id": "_kArTmlU-WyJZqgebgWUz", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1641.8071789171997, + "y": 742.4512989415504, + "strokeColor": "transparent", + "backgroundColor": "#ffff", + "width": 324.1261800130212, + "height": 53.041432698568, + "seed": 544627628, + "groupIds": [ + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "ellipse", + "version": 554, + "versionNonce": 1186932551, + "isDeleted": false, + "id": "n7vLFxLzMtNfP8917QY1v", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1678.851512481112, + "y": 259.52024662764074, + "strokeColor": "transparent", + "backgroundColor": "#cc79a7", + "width": 31.78515625, + "height": 31.78515625, + "seed": 544875284, + "groupIds": [ + "pD2nhuFw60wwcGuAr1wNC", + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 438, + "versionNonce": 1704924329, + "isDeleted": false, + "id": "VkT4vvJ06dTUMtu4dLtnl", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1687.744090606112, + "y": 262.91282475264074, + "strokeColor": "#fff", + "backgroundColor": "#cc79a7", + "width": 14, + "height": 25, + "seed": 1442596908, + "groupIds": [ + "pD2nhuFw60wwcGuAr1wNC", + "7jbd4FNl7M5s8-jY5Pwk_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "3", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "text", + "version": 469, + "versionNonce": 386442855, + "isDeleted": false, + "id": "ZfGzbD4XOPfG6aozU2RCx", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2263.994400625952, + "y": 312.317639457656, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 56, + "height": 25, + "seed": 202053140, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 713, + "versionNonce": 940087177, + "isDeleted": false, + "id": "LZkCYbL6a71xr9xO0ivHg", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2266.3379675204833, + "y": 352.51256201082447, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 962236332, + "groupIds": [ + "Qts4xdhQ0pe3idK3d7ZnY", + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 507, + "versionNonce": 471155079, + "isDeleted": false, + "id": "4YTtG0S55xDYXc4_4N7pk", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2280.1151417283822, + "y": 364.0029388011891, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 21, + "height": 25, + "seed": 1027848748, + "groupIds": [ + "Qts4xdhQ0pe3idK3d7ZnY", + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 552, + "versionNonce": 1274986089, + "isDeleted": false, + "id": "bWVOUzk54K5KBmawRhPY4", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2258.1257211554657, + "y": 344.9604108606507, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 2079743636, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 501, + "versionNonce": 119634087, + "isDeleted": false, + "id": "9WjBdi4VPkrq0gALAPENT", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2348.8809040574843, + "y": 311.99506865687476, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65, + "height": 25, + "seed": 1951755284, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 2", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 615, + "versionNonce": 273484105, + "isDeleted": false, + "id": "PkKJtPfaKYg2x0hubJe9L", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2347.512224586998, + "y": 344.63784005986946, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 2021050772, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 525, + "versionNonce": 769248199, + "isDeleted": false, + "id": "EM-QpJa9G6no6_44lplZ_", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2259.707603208417, + "y": 424.163579941597, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 64, + "height": 25, + "seed": 2073065236, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 3", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 606, + "versionNonce": 240056361, + "isDeleted": false, + "id": "lTAMXH0iNXwpQllAY3Azg", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2258.161570832657, + "y": 457.12899843931825, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 437810324, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 560, + "versionNonce": 2086320871, + "isDeleted": false, + "id": "oSVis9k7ry7KA615BtUeb", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2349.8809040574843, + "y": 424.4503010651864, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 63, + "height": 25, + "seed": 1908720148, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU 4", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 634, + "versionNonce": 401607433, + "isDeleted": false, + "id": "lLMvxfL-seMfx2jKV6_1Q", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2347.512224586998, + "y": 457.12892214537294, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65.2345784505211, + "height": 65.2345784505211, + "seed": 2039177108, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "arrow", + "version": 1185, + "versionNonce": 657507847, + "isDeleted": false, + "id": "OiK6k9k18TR0nLb34AiPU", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2391.479853199645, + "y": 576.6407854836857, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 114.98875647485352, + "height": 115.97638093677404, + "seed": 1503808788, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "B2lwV6-JxWZPuMwJezx75", + "focus": -0.5694118690509804, + "gap": 6.663718807062651 + }, + "endBinding": { + "elementId": "KhS-jLZJvyQiY1L3_k8eS", + "focus": 0.44660042275181133, + "gap": 15.555701037413314 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 114.98875647485352, + 115.97638093677404 + ] + ] + }, + { + "type": "text", + "version": 478, + "versionNonce": 900448745, + "isDeleted": false, + "id": "B2lwV6-JxWZPuMwJezx75", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2293.22934528741, + "y": 544.977066676623, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 92, + "height": 25, + "seed": 1132432020, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "OiK6k9k18TR0nLb34AiPU", + "GbZUQDDDb1s54Kkzag2yG" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Executing", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 558, + "versionNonce": 492334375, + "isDeleted": false, + "id": "KhS-jLZJvyQiY1L3_k8eS", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2479.566015209285, + "y": 708.172867457873, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 68, + "height": 25, + "seed": 1238964244, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "OiK6k9k18TR0nLb34AiPU", + "2NcOEs-IPgxSNf-WWpjcf" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Waiting", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 684, + "versionNonce": 1418566857, + "isDeleted": false, + "id": "l-ElT5nFvftgQ6di02LRj", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2144.925580096438, + "y": 708.172867457873, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 83, + "height": 25, + "seed": 950334868, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "2NcOEs-IPgxSNf-WWpjcf", + "GbZUQDDDb1s54Kkzag2yG" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Runnable", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 1502, + "versionNonce": 977154119, + "isDeleted": false, + "id": "2NcOEs-IPgxSNf-WWpjcf", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2470.52752992555, + "y": 721.7053767543448, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 236.0511013657939, + "height": 1.4177128096777096, + "seed": 1830363924, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "KhS-jLZJvyQiY1L3_k8eS", + "focus": -0.10161964846888949, + "gap": 9.038485283735099 + }, + "endBinding": { + "elementId": "l-ElT5nFvftgQ6di02LRj", + "focus": -0.052849775383376846, + "gap": 6.550848463318289 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -236.0511013657939, + -1.4177128096777096 + ] + ] + }, + { + "type": "arrow", + "version": 1676, + "versionNonce": 875633577, + "isDeleted": false, + "id": "GbZUQDDDb1s54Kkzag2yG", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2188.390540537292, + "y": 697.6284978544746, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 112.81583187377134, + "height": 125.88252452817414, + "seed": 766222484, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "l-ElT5nFvftgQ6di02LRj", + "focus": -0.3545826249687999, + "gap": 10.544369603398422 + }, + "endBinding": { + "elementId": "B2lwV6-JxWZPuMwJezx75", + "focus": 0.44115541013135345, + "gap": 1.768906649677433 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 112.81583187377134, + -125.88252452817414 + ] + ] + }, + { + "type": "arrow", + "version": 1384, + "versionNonce": 935235431, + "isDeleted": false, + "id": "oNk8p3zdupBF1_dZEV4_v", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2129.2448407217285, + "y": 622.5636480009589, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 470.8899946962859, + "height": 0, + "seed": 34762260, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 470.8899946962859, + 0 + ] + ] + }, + { + "type": "text", + "version": 732, + "versionNonce": 348241545, + "isDeleted": false, + "id": "h-PRqLw8Nj7jS1SC-SAnO", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2530.3893794670976, + "y": 579.0508581805293, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 72, + "height": 25, + "seed": 188976020, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "OiK6k9k18TR0nLb34AiPU", + "GbZUQDDDb1s54Kkzag2yG" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "On-CPU", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 798, + "versionNonce": 1613105799, + "isDeleted": false, + "id": "sD2r6fqjXdA04iC8P0HCd", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2518.60532184991, + "y": 638.9554907488887, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 83, + "height": 25, + "seed": 1534392596, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "OiK6k9k18TR0nLb34AiPU", + "GbZUQDDDb1s54Kkzag2yG" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Off-CPU", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 817, + "versionNonce": 620430697, + "isDeleted": false, + "id": "aLfwuhLdXjbVKYEt_KEPt", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2499.0287023837645, + "y": 744.7807810049651, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 1310504596, + "groupIds": [ + "SnhEnLLpHglVg1wqGdESU", + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 611, + "versionNonce": 3219879, + "isDeleted": false, + "id": "nXtwHxOTUwL08DnTcbBLP", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2512.805876591664, + "y": 756.2711577953297, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 21, + "height": 25, + "seed": 1609614356, + "groupIds": [ + "SnhEnLLpHglVg1wqGdESU", + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 894, + "versionNonce": 807956553, + "isDeleted": false, + "id": "Q4I-h38tUHHPGQX9DE-uq", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2149.250565176733, + "y": 744.7807810049651, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 47.980753580729186, + "height": 47.980753580729186, + "seed": 115810708, + "groupIds": [ + "uvJROne0UvO9kiZ9eB6Yv", + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 688, + "versionNonce": 420238535, + "isDeleted": false, + "id": "FL6lCPwQtNcRpIIw2-n0Y", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2163.0277393846327, + "y": 756.2711577953297, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 21, + "height": 25, + "seed": 171298580, + "groupIds": [ + "uvJROne0UvO9kiZ9eB6Yv", + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "G1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 835, + "versionNonce": 203783977, + "isDeleted": false, + "id": "ljwjAwZl7Ro3132GsI8Ig", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2146.1915085767982, + "y": 742.4513861346308, + "strokeColor": "transparent", + "backgroundColor": "#ffff", + "width": 405.82539876302116, + "height": 53.041432698568, + "seed": 1515375764, + "groupIds": [ + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "ellipse", + "version": 525, + "versionNonce": 1381245927, + "isDeleted": false, + "id": "qFu_W0hxU79brcBpCLu2-", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2357.828310402429, + "y": 259.52033382072113, + "strokeColor": "transparent", + "backgroundColor": "#cc79a7", + "width": 31.78515625, + "height": 31.78515625, + "seed": 1380366636, + "groupIds": [ + "5YcKpsHxrb41D3YTtTzjP", + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 409, + "versionNonce": 1197322761, + "isDeleted": false, + "id": "EZHkaNWTTDmSuPoUv9BV0", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2367.220888527429, + "y": 262.91291194572113, + "strokeColor": "#fff", + "backgroundColor": "#cc79a7", + "width": 13, + "height": 25, + "seed": 166638508, + "groupIds": [ + "5YcKpsHxrb41D3YTtTzjP", + "RPP8rJZHwxxPrjH266oKd" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "4", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "arrow", + "version": 2202, + "versionNonce": 739577607, + "isDeleted": false, + "id": "Ki3fLOokEGudLDkrOgY_H", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 193.8838127368979, + "y": 2557.3760069392065, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 52.579694475446445, + "height": 0, + "seed": 364003244, + "groupIds": [ + "usaKrkv3kRfoE0YXma8JW" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "2yP6unjd2Tj0eUTrLJjrX", + "focus": -0.09660884389850254, + "gap": 9.719152962218445 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -52.579694475446445, + 0 + ] + ] + }, + { + "type": "text", + "version": 827, + "versionNonce": 382503145, + "isDeleted": false, + "id": "2yP6unjd2Tj0eUTrLJjrX", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 203.60296569911637, + "y": 2543.668396390475, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 131, + "height": 25, + "seed": 321219116, + "groupIds": [ + "usaKrkv3kRfoE0YXma8JW" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo", + "Ki3fLOokEGudLDkrOgY_H" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "stack pointer", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1399, + "versionNonce": 1892390439, + "isDeleted": false, + "id": "19Bb-SQA7SDAI58U6o50X", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 492.53883785274706, + "y": 2698.142650695875, + "strokeColor": "#000000", + "backgroundColor": "#868e96", + "width": 127.04878743489621, + "height": 77.2403419131323, + "seed": 1121332244, + "groupIds": [ + "viwnLA-Gp8QSaqPM8i5eN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "X6hxamXippVvmJelCiJmH", + "D0oS047RO5lVSROxz6Vux" + ] + }, + { + "type": "rectangle", + "version": 1187, + "versionNonce": 66945993, + "isDeleted": false, + "id": "o60freZHoI9W6VOApDACi", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 492.53883785274706, + "y": 2487.0732188459865, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 127.0487874348962, + "height": 73.54219563802111, + "seed": 954173844, + "groupIds": [ + "viwnLA-Gp8QSaqPM8i5eN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 804, + "versionNonce": 1734621511, + "isDeleted": false, + "id": "JI3on7JO6bsmavJVeX8gW", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 509.7835600071521, + "y": 2514.3208622107877, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 81, + "height": 25, + "seed": 820066068, + "groupIds": [ + "viwnLA-Gp8QSaqPM8i5eN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "X6hxamXippVvmJelCiJmH" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "sum = 0", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1288, + "versionNonce": 1527521961, + "isDeleted": false, + "id": "n4uP4sqpp-eKOBQEcfQAM", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 492.7969555285283, + "y": 2560.2184214827053, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 126.27486165364617, + "height": 137.95821126302076, + "seed": 1733375124, + "groupIds": [ + "viwnLA-Gp8QSaqPM8i5eN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kpAogLZI_U06BbjHs2T5h", + "X6hxamXippVvmJelCiJmH" + ] + }, + { + "type": "text", + "version": 858, + "versionNonce": 1161525351, + "isDeleted": false, + "id": "K2a6lT8K2KqemnrScznXA", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 509.7835600071521, + "y": 2585.4733280311, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 74, + "height": 25, + "seed": 434471444, + "groupIds": [ + "viwnLA-Gp8QSaqPM8i5eN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "X6hxamXippVvmJelCiJmH" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "a = 23", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "line", + "version": 539, + "versionNonce": 1487136137, + "isDeleted": false, + "id": "eYlfKSzDXHHgwUSw-n9sE", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 495.0628161920488, + "y": 2630.1412967810998, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 121.63745117187494, + "height": 0, + "seed": 1603542932, + "groupIds": [ + "viwnLA-Gp8QSaqPM8i5eN" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 121.63745117187494, + 0 + ] + ] + }, + { + "type": "text", + "version": 893, + "versionNonce": 1612567431, + "isDeleted": false, + "id": "5Vq_IC9HmhWfEWFD-6SSL", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 509.7835600071521, + "y": 2652.718628324069, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 70, + "height": 25, + "seed": 9637140, + "groupIds": [ + "viwnLA-Gp8QSaqPM8i5eN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "X6hxamXippVvmJelCiJmH" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "b = 42", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 488, + "versionNonce": 402672745, + "isDeleted": false, + "id": "39r9guIcFitWs_wcfZmfu", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 370.85773806704873, + "y": 2511.9639286170373, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 55, + "height": 25, + "seed": 1314409108, + "groupIds": [ + "viwnLA-Gp8QSaqPM8i5eN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "main()", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 524, + "versionNonce": 541575847, + "isDeleted": false, + "id": "OMtLIJkf7sZYxL4-3fa9J", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 375.7524524225175, + "y": 2613.358154691256, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 51, + "height": 25, + "seed": 2073679892, + "groupIds": [ + "viwnLA-Gp8QSaqPM8i5eN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "add()", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 2098, + "versionNonce": 1089263433, + "isDeleted": false, + "id": "kpAogLZI_U06BbjHs2T5h", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 464.503406765916, + "y": 2486.2310566504216, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 0, + "height": 76.3713035253927, + "seed": 1951249812, + "groupIds": [ + "viwnLA-Gp8QSaqPM8i5eN" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": { + "focus": -1.4481263870273322, + "gap": 28.293548762612318, + "elementId": "n4uP4sqpp-eKOBQEcfQAM" + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 76.3713035253927 + ] + ] + }, + { + "type": "arrow", + "version": 1946, + "versionNonce": 845536711, + "isDeleted": false, + "id": "X6hxamXippVvmJelCiJmH", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 465.861316922166, + "y": 2563.0391621191716, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 0, + "height": 135.22006608657784, + "seed": 534061844, + "groupIds": [ + "viwnLA-Gp8QSaqPM8i5eN" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "focus": 1.42661917429366, + "gap": 26.935638606362318, + "elementId": "n4uP4sqpp-eKOBQEcfQAM" + }, + "endBinding": { + "focus": -1.4266191742936618, + "gap": 26.93563860636243, + "elementId": "n4uP4sqpp-eKOBQEcfQAM" + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 135.22006608657784 + ] + ] + }, + { + "type": "ellipse", + "version": 541, + "versionNonce": 1975846441, + "isDeleted": false, + "id": "tFSCGjVOv_a0qJTRv3tVF", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 446.770170056446, + "y": 2424.2096561560998, + "strokeColor": "transparent", + "backgroundColor": "#cc79a7", + "width": 31.78515625, + "height": 31.78515625, + "seed": 639918228, + "groupIds": [ + "viwnLA-Gp8QSaqPM8i5eN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 445, + "versionNonce": 2039778535, + "isDeleted": false, + "id": "hGdm_TpBoDFox9vISYmco", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 455.662748181446, + "y": 2427.6022342810998, + "strokeColor": "#fff", + "backgroundColor": "#cc79a7", + "width": 14, + "height": 25, + "seed": 1836264980, + "groupIds": [ + "viwnLA-Gp8QSaqPM8i5eN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "2", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "text", + "version": 874, + "versionNonce": 24402185, + "isDeleted": false, + "id": "VXui0UI3AXuxyiNvuVroK", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 505.7835600071521, + "y": 2723.534354468042, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 105, + "height": 25, + "seed": 1284262804, + "groupIds": [ + "viwnLA-Gp8QSaqPM8i5eN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "X6hxamXippVvmJelCiJmH" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "free space", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 2442, + "versionNonce": 1096833031, + "isDeleted": false, + "id": "D0oS047RO5lVSROxz6Vux", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 704.5911230047552, + "y": 2696.2549655050548, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 52.579694475446445, + "height": 0, + "seed": 1973795092, + "groupIds": [ + "viwnLA-Gp8QSaqPM8i5eN" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "focus": -0.09660884389850254, + "gap": 9.719152962218459, + "elementId": "R7AbxyQatmxAkwkQPqJZa" + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -52.579694475446445, + 0 + ] + ] + }, + { + "type": "text", + "version": 948, + "versionNonce": 1165381609, + "isDeleted": false, + "id": "R7AbxyQatmxAkwkQPqJZa", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 714.3102759669737, + "y": 2682.5473549563235, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 131, + "height": 25, + "seed": 1681225364, + "groupIds": [ + "viwnLA-Gp8QSaqPM8i5eN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "X6hxamXippVvmJelCiJmH", + "D0oS047RO5lVSROxz6Vux" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "stack pointer", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1579, + "versionNonce": 801488679, + "isDeleted": false, + "id": "X0YJHhGd6uWqEO7jWtUBJ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1037.0952866529701, + "y": 2560.339523952013, + "strokeColor": "#000000", + "backgroundColor": "#868e96", + "width": 127.04878743489625, + "height": 214.19843691871304, + "seed": 1912799660, + "groupIds": [ + "_fbetYBbzvFOqgs0eH0u_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "XQ0GwHsmLzFH86jgwQu3M", + "FKo2emTX_y9z0G2dtJb66" + ] + }, + { + "type": "rectangle", + "version": 1249, + "versionNonce": 1742105289, + "isDeleted": false, + "id": "sQiRcYBTwygRjjDhxC4XZ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1037.0952866529701, + "y": 2486.2281871077053, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 127.0487874348962, + "height": 73.54219563802111, + "seed": 1812851756, + "groupIds": [ + "_fbetYBbzvFOqgs0eH0u_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 867, + "versionNonce": 1999716935, + "isDeleted": false, + "id": "eI-CYBMRvKPbTWzAZGuhn", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1054.3400088073752, + "y": 2513.4758304725065, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 92, + "height": 25, + "seed": 1784121004, + "groupIds": [ + "_fbetYBbzvFOqgs0eH0u_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "XQ0GwHsmLzFH86jgwQu3M" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "sum = 65", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1386, + "versionNonce": 1093675433, + "isDeleted": false, + "id": "AqVTIfmVRpTo3c-5FefS2", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": 1037.3534043287514, + "y": 2559.373389744424, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 126.27486165364617, + "height": 137.95821126302076, + "seed": 1367986476, + "groupIds": [ + "_fbetYBbzvFOqgs0eH0u_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "Cm3xNmOg34tT9E5xer-cz", + "XQ0GwHsmLzFH86jgwQu3M" + ] + }, + { + "type": "text", + "version": 976, + "versionNonce": 1216307559, + "isDeleted": false, + "id": "O3pW1_eifdVJxRXV7D5gg", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 30, + "angle": 0, + "x": 1054.3400088073752, + "y": 2584.628296292819, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 74, + "height": 25, + "seed": 1628359596, + "groupIds": [ + "_fbetYBbzvFOqgs0eH0u_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "XQ0GwHsmLzFH86jgwQu3M" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "a = 23", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "line", + "version": 656, + "versionNonce": 179244169, + "isDeleted": false, + "id": "KHDYtlupoGkDeUfljfgiV", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": 1039.6192649922718, + "y": 2629.2962650428185, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 121.63745117187494, + "height": 0, + "seed": 1527805484, + "groupIds": [ + "_fbetYBbzvFOqgs0eH0u_" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 121.63745117187494, + 0 + ] + ] + }, + { + "type": "text", + "version": 1009, + "versionNonce": 83664007, + "isDeleted": false, + "id": "EA9ikv5daLyDD2R3NZdm4", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 30, + "angle": 0, + "x": 1054.3400088073752, + "y": 2651.8735965857877, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 70, + "height": 25, + "seed": 746115244, + "groupIds": [ + "_fbetYBbzvFOqgs0eH0u_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "XQ0GwHsmLzFH86jgwQu3M" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "b = 42", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 550, + "versionNonce": 1276023657, + "isDeleted": false, + "id": "ZXJawhlPePjKuXwH89BQg", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 915.4141868672718, + "y": 2511.118896878756, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 55, + "height": 25, + "seed": 351394604, + "groupIds": [ + "_fbetYBbzvFOqgs0eH0u_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "main()", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 2229, + "versionNonce": 811955111, + "isDeleted": false, + "id": "Cm3xNmOg34tT9E5xer-cz", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1009.059855566139, + "y": 2485.3860249121403, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 0, + "height": 76.3713035253927, + "seed": 931004460, + "groupIds": [ + "_fbetYBbzvFOqgs0eH0u_" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": { + "elementId": "AqVTIfmVRpTo3c-5FefS2", + "focus": -1.4481263870273338, + "gap": 28.29354876261243 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 76.3713035253927 + ] + ] + }, + { + "type": "ellipse", + "version": 618, + "versionNonce": 161103433, + "isDeleted": false, + "id": "uNRpORQYQwMesFuG87U_H", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1087.1660092026514, + "y": 2423.3646244178185, + "strokeColor": "transparent", + "backgroundColor": "#cc79a7", + "width": 31.78515625, + "height": 31.78515625, + "seed": 654632236, + "groupIds": [ + "_fbetYBbzvFOqgs0eH0u_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 502, + "versionNonce": 585524935, + "isDeleted": false, + "id": "mxL5T6n7p0FmsVvzCScAY", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1096.0585873276511, + "y": 2426.7572025428185, + "strokeColor": "#fff", + "backgroundColor": "#cc79a7", + "width": 14, + "height": 25, + "seed": 2114412460, + "groupIds": [ + "_fbetYBbzvFOqgs0eH0u_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "3", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "text", + "version": 1049, + "versionNonce": 841846057, + "isDeleted": false, + "id": "u92grpNTc2LRW_tNh5NAh", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1050.3400088073752, + "y": 2627.583226189582, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 105, + "height": 25, + "seed": 1943439916, + "groupIds": [ + "_fbetYBbzvFOqgs0eH0u_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "XQ0GwHsmLzFH86jgwQu3M" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "free space", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 2644, + "versionNonce": 2065429991, + "isDeleted": false, + "id": "FKo2emTX_y9z0G2dtJb66", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1249.1475718049783, + "y": 2559.418199670791, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 52.579694475446445, + "height": 0, + "seed": 1801217196, + "groupIds": [ + "_fbetYBbzvFOqgs0eH0u_" + ], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "vmOmNuGNt20mUmGjBY0AP", + "focus": -0.09660884389850255, + "gap": 9.719152962218459 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -52.579694475446445, + 0 + ] + ] + }, + { + "type": "text", + "version": 1051, + "versionNonce": 1295253513, + "isDeleted": false, + "id": "vmOmNuGNt20mUmGjBY0AP", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1258.8667247671967, + "y": 2545.71058912206, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 131, + "height": 25, + "seed": 1514336044, + "groupIds": [ + "_fbetYBbzvFOqgs0eH0u_" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "XQ0GwHsmLzFH86jgwQu3M", + "FKo2emTX_y9z0G2dtJb66" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "stack pointer", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1232, + "versionNonce": 745908361, + "isDeleted": false, + "id": "17vT2GP9HKCl2mdCzA0bG", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": -878.4058099211162, + "y": 3194.204348211278, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 138.7765706380212, + "height": 73.54219563802111, + "seed": 2109109353, + "groupIds": [ + "tNUAVNGtY2_kEyZ_0oDWc", + "oEfMoSrJ5M8i3UlvX0W-b" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 875, + "versionNonce": 1031651463, + "isDeleted": false, + "id": "uSbgOBi97tqiX9zVf2ORJ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -852.2324904224181, + "y": 3221.362388575862, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 88, + "height": 25, + "seed": 1570635593, + "groupIds": [ + "xYhUD9cC5X3EAi9IeG7j-", + "oEfMoSrJ5M8i3UlvX0W-b" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "G1 Stack", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1301, + "versionNonce": 849457001, + "isDeleted": false, + "id": "MrkKtEVzwUgkzuvU3lMHo", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": -709.0960158130433, + "y": 3194.204348211278, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 138.7765706380212, + "height": 73.54219563802111, + "seed": 839986729, + "groupIds": [ + "hLlHbf6f8T7Yj7z-VPwic", + "oEfMoSrJ5M8i3UlvX0W-b" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 951, + "versionNonce": 86120359, + "isDeleted": false, + "id": "LXQ6PH5rxrfBH1AXPpdAk", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -682.4925001880431, + "y": 3221.7925847021643, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 97, + "height": 25, + "seed": 838566153, + "groupIds": [ + "2HGglShNgW7_cUq4k5iA8", + "oEfMoSrJ5M8i3UlvX0W-b" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo", + "myLOAZQzb9qmr7mAPdVd0" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "G2 Stack", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1365, + "versionNonce": 1734990409, + "isDeleted": false, + "id": "4G2ajwJ9g6kZohOIbVp_B", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": -540.3191603442932, + "y": 3194.204348211278, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 138.7765706380212, + "height": 73.54219563802111, + "seed": 718829545, + "groupIds": [ + "npxbuojz73xDyFN4cmtrR", + "oEfMoSrJ5M8i3UlvX0W-b" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 1014, + "versionNonce": 7244487, + "isDeleted": false, + "id": "uGhPHlkx9R0VbLPVrrcrU", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -514.5759352466368, + "y": 3221.3624903011223, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 96, + "height": 25, + "seed": 757907465, + "groupIds": [ + "dIP818QFy9hj0Vl0NYe3v", + "oEfMoSrJ5M8i3UlvX0W-b" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "G3 Stack", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1507, + "versionNonce": 1806281001, + "isDeleted": false, + "id": "dYlL5AoWbhmscjMA9kihp", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": -877.0227532804912, + "y": 3292.4520288753406, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 474.75170898437534, + "height": 344.58142089843756, + "seed": 36196777, + "groupIds": [ + "gOmz6wltH77ciEs-JIlLY", + "oEfMoSrJ5M8i3UlvX0W-b" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 103, + "versionNonce": 1006606823, + "isDeleted": false, + "id": "yuhlCi0devwLBV_GTWvx8", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": -672.0996575773661, + "y": 3447.2427393245594, + "strokeColor": "#000", + "backgroundColor": "#e69f00", + "width": 63, + "height": 35, + "seed": 1247949961, + "groupIds": [ + "oEfMoSrJ5M8i3UlvX0W-b" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 28, + "fontFamily": 1, + "text": "Heap", + "baseline": 25, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 1925, + "versionNonce": 952933385, + "isDeleted": false, + "id": "A4IwfxUzuq59_iuwW-uU7", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": -900.9302239836162, + "y": 3122.2309798844553, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 522.5579020182296, + "height": 529.8603515624993, + "seed": 1681510247, + "groupIds": [ + "SfQsp9GrVftrrtNIHLAjT", + "oEfMoSrJ5M8i3UlvX0W-b" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 240, + "versionNonce": 2095170823, + "isDeleted": false, + "id": "eTVPraJN1dq3NiZlSgefR", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": -749.2633335213761, + "y": 3139.0681584326326, + "strokeColor": "#000", + "backgroundColor": "transparent", + "width": 218, + "height": 35, + "seed": 77817417, + "groupIds": [ + "oEfMoSrJ5M8i3UlvX0W-b" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 28, + "fontFamily": 1, + "text": "Program Memory", + "baseline": 25, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1849, + "versionNonce": 248394473, + "isDeleted": false, + "id": "oGoTgW8Y4W3fzxyyxLLzD", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -353.1960344741175, + "y": 3346.108321681166, + "strokeColor": "#000000", + "backgroundColor": "#009e73", + "width": 26.793009440104104, + "height": 26.793009440104104, + "seed": 2073612903, + "groupIds": [ + "jLRIju6-kN7jWo1kykI8b", + "oEfMoSrJ5M8i3UlvX0W-b" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 1606, + "versionNonce": 848399399, + "isDeleted": false, + "id": "VoJhHYfeLvMVFwv4pDcAT", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -307.3704298755431, + "y": 3348.134722356786, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 300, + "height": 25, + "seed": 1438641543, + "groupIds": [ + "N2icU0WBtrzUgfENWO-OE", + "oEfMoSrJ5M8i3UlvX0W-b" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Referenced Allocation (In-Use)", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1880, + "versionNonce": 574221769, + "isDeleted": false, + "id": "ux3Kg5lEBPKDVRpx8q6KZ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -353.1960344741175, + "y": 3405.000304713393, + "strokeColor": "#000000", + "backgroundColor": "#868e96", + "width": 26.793009440104104, + "height": 26.793009440104104, + "seed": 1385286985, + "groupIds": [ + "7qNDCwzER7bds_dyrj9Gq", + "oEfMoSrJ5M8i3UlvX0W-b" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 1668, + "versionNonce": 687566663, + "isDeleted": false, + "id": "20Rh6Q0kvoTvcoaGNxRU9", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -307.3704298755431, + "y": 3407.0267053890125, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 337, + "height": 25, + "seed": 783520457, + "groupIds": [ + "bC7yrHcV7TcpenXSb67Bx", + "oEfMoSrJ5M8i3UlvX0W-b" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Unreferenced Allocation (Garbage)", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "id": "aXpXk9U_xjGeLrIWv8wqt", + "type": "rectangle", + "x": -354.9398920849112, + "y": 3324.842939368574, + "width": 384.8219299316406, + "height": 154.22134399414062, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#fff", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "oEfMoSrJ5M8i3UlvX0W-b" + ], + "strokeSharpness": "sharp", + "seed": 786107271, + "version": 99, + "versionNonce": 170609833, + "isDeleted": false, + "boundElementIds": null + }, + { + "type": "rectangle", + "version": 1283, + "versionNonce": 293294089, + "isDeleted": false, + "id": "7YY9_1nESm2WiqKhrrKkg", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 102.9408512378543, + "y": 3206.928815897523, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 138.7765706380212, + "height": 73.54219563802111, + "seed": 1531393993, + "groupIds": [ + "64gNH7gaA1igPQi96teUz", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "dZqtgWsRhIMwEVVreE-f4" + ] + }, + { + "type": "text", + "version": 931, + "versionNonce": 1386762503, + "isDeleted": false, + "id": "h4sGRYRGKNCYjwIvLMYgU", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 129.1141707365524, + "y": 3234.0868562621067, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 88, + "height": 25, + "seed": 117397161, + "groupIds": [ + "BYOBfag4qO-ihThYZ4WvH", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "G1 Stack", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1350, + "versionNonce": 839278471, + "isDeleted": false, + "id": "Zp0eab5iZbGmQ6bIUaUQ3", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 272.25064534592724, + "y": 3206.928815897523, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 138.7765706380212, + "height": 73.54219563802111, + "seed": 135305609, + "groupIds": [ + "3-hXaieilHgStXfFzTW8e", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 1007, + "versionNonce": 1199990505, + "isDeleted": false, + "id": "dHMptwbfHjzdK9cYgnE1v", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 298.85416097092747, + "y": 3234.517052388409, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 97, + "height": 25, + "seed": 532054121, + "groupIds": [ + "5K0CAnZLjA1ZFMf_ib-EH", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "G2 Stack", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1414, + "versionNonce": 882600391, + "isDeleted": false, + "id": "IVSR9sZjoaPo_jaBugYsr", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 441.0275008146773, + "y": 3206.928815897523, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 138.7765706380212, + "height": 73.54219563802111, + "seed": 1539083081, + "groupIds": [ + "r296w7D4NRkFHfuRPh33w", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 1072, + "versionNonce": 665229351, + "isDeleted": false, + "id": "htBP_C263P86cVDxibc-j", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 466.7707259123337, + "y": 3234.086957987367, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 96, + "height": 25, + "seed": 75381289, + "groupIds": [ + "ERW_XZyIESyylvMLI9QV1", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo", + "dZqtgWsRhIMwEVVreE-f4" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "G3 Stack", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1581, + "versionNonce": 2110497225, + "isDeleted": false, + "id": "DRetAtj-W2gZkLicBAf_y", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 104.3239078784793, + "y": 3305.1764965615853, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 474.75170898437534, + "height": 344.58142089843756, + "seed": 1256656137, + "groupIds": [ + "r61pyD_IvyT9hzvhbH628", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "dZqtgWsRhIMwEVVreE-f4", + "kRxjQpeo-J8LFYmuCP86n", + "PKjhl4dwH_-pgqyi-aX2E" + ] + }, + { + "type": "text", + "version": 151, + "versionNonce": 47631143, + "isDeleted": false, + "id": "48DyFQfm2debQ4ULKPAmq", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 309.2470035816045, + "y": 3459.967207010804, + "strokeColor": "#000", + "backgroundColor": "#e69f00", + "width": 63, + "height": 35, + "seed": 913474537, + "groupIds": [ + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 28, + "fontFamily": 1, + "text": "Heap", + "baseline": 25, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 1974, + "versionNonce": 1547750983, + "isDeleted": false, + "id": "uFyIbEcESvBEStUMLWKrD", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 80.4164371753543, + "y": 3134.9554475707, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 522.5579020182296, + "height": 529.8603515624993, + "seed": 1395400393, + "groupIds": [ + "PT5Q_5h3EnsKKs_-PNk1E", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 289, + "versionNonce": 2076011879, + "isDeleted": false, + "id": "ksGEn35jD8n6_HXqMyNW_", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 232.08332763759438, + "y": 3151.7926261188773, + "strokeColor": "#000", + "backgroundColor": "transparent", + "width": 218, + "height": 35, + "seed": 531586473, + "groupIds": [ + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 28, + "fontFamily": 1, + "text": "Program Memory", + "baseline": 25, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1270, + "versionNonce": 1334770503, + "isDeleted": false, + "id": "yM1T3ZboA3LLus00GBmxZ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 141.94914963407172, + "y": 3359.341757175725, + "strokeColor": "#000000", + "backgroundColor": "#009e73", + "width": 53.6649576822916, + "height": 26.19043986002598, + "seed": 992460937, + "groupIds": [ + "soa9yF-6xIY3siFSnIABu", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kRxjQpeo-J8LFYmuCP86n" + ] + }, + { + "type": "rectangle", + "version": 1450, + "versionNonce": 1902543017, + "isDeleted": false, + "id": "5mPCKZrZxzLUd9YNU8R17", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 340.98767153697355, + "y": 3340.4905260094306, + "strokeColor": "#000000", + "backgroundColor": "#009e73", + "width": 17.23963419596349, + "height": 29.918772379557268, + "seed": 1397802857, + "groupIds": [ + "pVFZJpEaRluDmsLvxjMZf", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "mV6HJPMyBKVHkuQZy98J6", + "PKjhl4dwH_-pgqyi-aX2E", + "gb7y0-xxasimGrTbmW6R9", + "dZqtgWsRhIMwEVVreE-f4" + ] + }, + { + "type": "rectangle", + "version": 1463, + "versionNonce": 515766887, + "isDeleted": false, + "id": "RK5FttG9lwQ2nCEwbLaP0", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 218.5436930911029, + "y": 3404.2491581243858, + "strokeColor": "#000000", + "backgroundColor": "#009e73", + "width": 74.74497477213536, + "height": 25.158487955729097, + "seed": 1383461449, + "groupIds": [ + "RyMxbOvgxRGCe2m1EKAvD", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "vH_e6vDqREn_8BW4f6Sd5", + "IfP6M01fwFCFCozVMFHMV", + "gb7y0-xxasimGrTbmW6R9", + "v2FKKsneb59IjdIeKqzvU" + ] + }, + { + "type": "rectangle", + "version": 1429, + "versionNonce": 805471113, + "isDeleted": false, + "id": "qD3hKl__yYlEhMzsPwa9U", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 122.06557419461859, + "y": 3433.2997998654573, + "strokeColor": "#000000", + "backgroundColor": "#868e96", + "width": 62.68366495768222, + "height": 25.790812174479104, + "seed": 1299366185, + "groupIds": [ + "R7kTgDYyHyTtyO8hJCDYd", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "vH_e6vDqREn_8BW4f6Sd5" + ] + }, + { + "type": "rectangle", + "version": 1421, + "versionNonce": 704648583, + "isDeleted": false, + "id": "ffOqV2pSmmduzhaSqxGP9", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 415.4085350972414, + "y": 3394.487456813002, + "strokeColor": "#000000", + "backgroundColor": "#868e96", + "width": 48.232218424479115, + "height": 24.630152384440038, + "seed": 833795081, + "groupIds": [ + "6Ru5dX0jUGAaJmjjRX_sz", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "4DvUXboyQBv8KSm6KJRU3" + ] + }, + { + "type": "rectangle", + "version": 1515, + "versionNonce": 98249321, + "isDeleted": false, + "id": "2HbQ_6zvOvUKTmuxCBUXr", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 226.94025593987521, + "y": 3518.1939474659034, + "strokeColor": "#000000", + "backgroundColor": "#009e73", + "width": 73.63321940104164, + "height": 24.67005411783847, + "seed": 858868457, + "groupIds": [ + "3ka8rPI5qOYpVHwen-YZt", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "v2FKKsneb59IjdIeKqzvU", + "s6N2VDg6jev4GWzvIHDQe" + ] + }, + { + "type": "rectangle", + "version": 1456, + "versionNonce": 949079207, + "isDeleted": false, + "id": "jWEc35-LaNhwFqEI3I4F1", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 432.7454840369734, + "y": 3475.485643196931, + "strokeColor": "#000000", + "backgroundColor": "#009e73", + "width": 26.793009440104104, + "height": 26.793009440104104, + "seed": 2054817225, + "groupIds": [ + "-jPakRxz86sedtO1BP55y", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "IfP6M01fwFCFCozVMFHMV" + ] + }, + { + "type": "rectangle", + "version": 1420, + "versionNonce": 368858727, + "isDeleted": false, + "id": "8vQn1ILBxfk6b3pYXnAO2", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 514.8324504153218, + "y": 3371.0988721310828, + "strokeColor": "#000000", + "backgroundColor": "#868e96", + "width": 18.762308756510354, + "height": 26.793009440104104, + "seed": 313025705, + "groupIds": [ + "TBHiRJ9amwOEvmds5jYk7", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "rectangle", + "version": 1487, + "versionNonce": 733738313, + "isDeleted": false, + "id": "cmrv2wqMFFEmb_Jch0WBX", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 331.8048450860807, + "y": 3564.2994685317526, + "strokeColor": "#000000", + "backgroundColor": "#868e96", + "width": 40.34891764322915, + "height": 25.2585856119791, + "seed": 392685449, + "groupIds": [ + "V9GTCxg4pDTTfunf32K_c", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "s6N2VDg6jev4GWzvIHDQe", + "y_guxQN0YMMMe1FR3K7O8" + ] + }, + { + "type": "rectangle", + "version": 1535, + "versionNonce": 1981784007, + "isDeleted": false, + "id": "gMYUT3PjmkTVddP8yW7hF", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 221.05202003027716, + "y": 3582.5182010931367, + "strokeColor": "#000000", + "backgroundColor": "#868e96", + "width": 15.347620646158793, + "height": 24.93357340494785, + "seed": 586419817, + "groupIds": [ + "ChKmxv7K3QZYPcmq-TTSU", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "y_guxQN0YMMMe1FR3K7O8" + ] + }, + { + "id": "kRxjQpeo-J8LFYmuCP86n", + "type": "arrow", + "x": 317.39797673188895, + "y": 3284.2614372070443, + "width": 123.43474946189104, + "height": 69.17567951339197, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#868e96", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "seed": 2081970505, + "version": 737, + "versionNonce": 751497799, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + -123.43474946189104, + 69.17567951339197 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": 0.6774006243896765, + "gap": 20.915059354540972, + "elementId": "DRetAtj-W2gZkLicBAf_y" + }, + "endBinding": { + "focus": -0.17373026611003992, + "gap": 5.904640455288927, + "elementId": "yM1T3ZboA3LLus00GBmxZ" + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "PKjhl4dwH_-pgqyi-aX2E", + "type": "arrow", + "x": 201.59056663788488, + "y": 3284.869440516508, + "width": 132.69451037892475, + "height": 62.7847366668193, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#868e96", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "seed": 70273065, + "version": 767, + "versionNonce": 256473513, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + 132.69451037892475, + 62.7847366668193 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": -0.4437885813865229, + "gap": 20.30705604507739, + "elementId": "DRetAtj-W2gZkLicBAf_y" + }, + "endBinding": { + "focus": 0.02867431303333731, + "gap": 6.702594520163927, + "elementId": "5mPCKZrZxzLUd9YNU8R17" + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "gb7y0-xxasimGrTbmW6R9", + "type": "arrow", + "x": 338.2299808877941, + "y": 3362.3459881294148, + "width": 57.283743659770835, + "height": 39.1454793457915, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#868e96", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "seed": 1697078025, + "version": 939, + "versionNonce": 2137198951, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + -57.283743659770835, + 39.1454793457915 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": 0.04215236238546909, + "gap": 2.7576906491794375, + "elementId": "5mPCKZrZxzLUd9YNU8R17" + }, + "endBinding": { + "focus": 0.04637243583742291, + "gap": 2.757690649179267, + "elementId": "RK5FttG9lwQ2nCEwbLaP0" + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "IfP6M01fwFCFCozVMFHMV", + "type": "arrow", + "x": 295.64763852151333, + "y": 3434.5688739065768, + "width": 127.6391949380581, + "height": 42.6698224658121, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#868e96", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "seed": 2138640873, + "version": 617, + "versionNonce": 1763597449, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + 127.6391949380581, + 42.6698224658121 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": 0.1778109810664702, + "gap": 5.161227826462209, + "elementId": "RK5FttG9lwQ2nCEwbLaP0" + }, + "endBinding": { + "focus": 0.22394265205248096, + "gap": 9.458650577401954, + "elementId": "jWEc35-LaNhwFqEI3I4F1" + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "v2FKKsneb59IjdIeKqzvU", + "type": "arrow", + "x": 253.70994509453772, + "y": 3438.1067658089873, + "width": 2.0887486070124908, + "height": 75.20340622580306, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#868e96", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "seed": 405859529, + "version": 759, + "versionNonce": 65686663, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + 2.0887486070124908, + 75.20340622580306 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": 0.07415418333460874, + "gap": 8.699119728872802, + "elementId": "RK5FttG9lwQ2nCEwbLaP0" + }, + "endBinding": { + "focus": -0.20129398578200722, + "gap": 4.883775431113236, + "elementId": "2HbQ_6zvOvUKTmuxCBUXr" + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "s6N2VDg6jev4GWzvIHDQe", + "type": "arrow", + "x": 326.01453489144103, + "y": 3559.385465367879, + "width": 38.12651146477964, + "height": 13.539958392134395, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#868e96", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "seed": 1189768105, + "version": 636, + "versionNonce": 1075045225, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + -38.12651146477964, + -13.539958392134395 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": 0.4204511290915738, + "gap": 5.790310194639687, + "elementId": "cmrv2wqMFFEmb_Jch0WBX" + }, + "endBinding": { + "focus": 0.26551873686176203, + "gap": 2.9815053920026457, + "elementId": "2HbQ_6zvOvUKTmuxCBUXr" + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "y_guxQN0YMMMe1FR3K7O8", + "type": "arrow", + "x": 327.19547596720315, + "y": 3581.1371363399126, + "width": 85.07191374872, + "height": 15.22638511328796, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#868e96", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "seed": 600903305, + "version": 608, + "versionNonce": 1713185703, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + -85.07191374872, + 15.22638511328796 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": 0.014008282509581258, + "gap": 4.6093691188775665, + "elementId": "cmrv2wqMFFEmb_Jch0WBX" + }, + "endBinding": { + "focus": 0.2728628045074935, + "gap": 5.723921542047194, + "elementId": "gMYUT3PjmkTVddP8yW7hF" + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "vH_e6vDqREn_8BW4f6Sd5", + "type": "arrow", + "x": 186.08211453218976, + "y": 3441.6824239643925, + "width": 28.089590291697817, + "height": 5.965822890222171, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#868e96", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "seed": 899700073, + "version": 757, + "versionNonce": 1886752329, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + 28.089590291697817, + -5.965822890222171 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": 0.12412330068223086, + "gap": 1.3328753798889323, + "elementId": "qD3hKl__yYlEhMzsPwa9U" + }, + "endBinding": { + "focus": -0.48849546530450594, + "gap": 6.308954994055739, + "elementId": "RK5FttG9lwQ2nCEwbLaP0" + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "mV6HJPMyBKVHkuQZy98J6", + "type": "arrow", + "x": 425.62635975079195, + "y": 3396.927571689089, + "width": 64.72906444146531, + "height": 33.035563022895076, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#868e96", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "seed": 530825289, + "version": 775, + "versionNonce": 640161479, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + -64.72906444146531, + -33.035563022895076 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": { + "focus": 0.13844734999609326, + "gap": 2.6699895763895825, + "elementId": "5mPCKZrZxzLUd9YNU8R17" + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "4DvUXboyQBv8KSm6KJRU3", + "type": "arrow", + "x": 519.1032401521148, + "y": 3391.124056399125, + "width": 52.25121713843828, + "height": 18.54956435810209, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#868e96", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "seed": 263638825, + "version": 331, + "versionNonce": 1092541737, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + -52.25121713843828, + 18.54956435810209 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": { + "focus": 0.6022333411424384, + "gap": 3.2112694919560454, + "elementId": "ffOqV2pSmmduzhaSqxGP9" + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "type": "rectangle", + "version": 1899, + "versionNonce": 1076266505, + "isDeleted": false, + "id": "SIp-IiFQo5r_zvMbuPU98", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 628.150626684853, + "y": 3358.832789367411, + "strokeColor": "#000000", + "backgroundColor": "#009e73", + "width": 26.793009440104104, + "height": 26.793009440104104, + "seed": 479203303, + "groupIds": [ + "hGgBOGVqFk4eNPJlMEFNU", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 1659, + "versionNonce": 889218089, + "isDeleted": false, + "id": "KGzlsZJd8AU3RdJctNpP1", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 673.9762312834274, + "y": 3360.8591900430306, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 300, + "height": 25, + "seed": 1112135913, + "groupIds": [ + "UUY167OB9J65lxEc04nck", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Referenced Allocation (In-Use)", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1930, + "versionNonce": 660266217, + "isDeleted": false, + "id": "dw4zvfxZGEvOUVuJVCZz5", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 628.150626684853, + "y": 3417.7247723996375, + "strokeColor": "#000000", + "backgroundColor": "#868e96", + "width": 26.793009440104104, + "height": 26.793009440104104, + "seed": 536050439, + "groupIds": [ + "OYR9ygWzBRc5Fu6gcxxpW", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 1728, + "versionNonce": 1690701543, + "isDeleted": false, + "id": "83ZmftxUNEUclhNUu-NOO", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 673.9762312834274, + "y": 3419.751173075257, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 337, + "height": 25, + "seed": 594899625, + "groupIds": [ + "KrqPumMsqXfq9iC6rvhWd", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Unreferenced Allocation (Garbage)", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1604, + "versionNonce": 1033107209, + "isDeleted": false, + "id": "ZHdnEvitkfIaA2H68e9Uv", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 437.2475243550539, + "y": 3328.618773951674, + "strokeColor": "#000000", + "backgroundColor": "#868e96", + "width": 21.653849283854118, + "height": 23.270289103190034, + "seed": 1734555017, + "groupIds": [ + "EdH6A0vfHrNtoD22JVYii", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "4DvUXboyQBv8KSm6KJRU3", + "mV6HJPMyBKVHkuQZy98J6" + ] + }, + { + "type": "rectangle", + "version": 1772, + "versionNonce": 252811783, + "isDeleted": false, + "id": "GG3oL1OoeEal6GKCWriZy", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 122.15368280231951, + "y": 3600.5496974135876, + "strokeColor": "#000000", + "backgroundColor": "#868e96", + "width": 26.87539720382496, + "height": 27.52703348795566, + "seed": 844471401, + "groupIds": [ + "_VYx0hZFPLqViebyN1U2H", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "4DvUXboyQBv8KSm6KJRU3", + "mV6HJPMyBKVHkuQZy98J6" + ] + }, + { + "type": "rectangle", + "version": 1786, + "versionNonce": 1475489257, + "isDeleted": false, + "id": "wQ90m9libREr_eMTJkp2_", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 435.392818544507, + "y": 3606.0833735610486, + "strokeColor": "#000000", + "backgroundColor": "#868e96", + "width": 122.64826456705723, + "height": 29.310557047525943, + "seed": 68691785, + "groupIds": [ + "s9RSgiM29KMoQroYg_mDv", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "4DvUXboyQBv8KSm6KJRU3", + "mV6HJPMyBKVHkuQZy98J6" + ] + }, + { + "type": "ellipse", + "version": 1005, + "versionNonce": 1137720551, + "isDeleted": false, + "id": "nkeCsrBVOdNmTmx8--ijv", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 82.71561459407883, + "y": 3071.7377409171236, + "strokeColor": "transparent", + "backgroundColor": "#cc79a7", + "width": 31.78515625, + "height": 31.78515625, + "seed": 1460033065, + "groupIds": [ + "GLmuzk7y0vrOVsvijbxUU", + "f65Rs-wPxGMByM1z2qQBh", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 888, + "versionNonce": 681969671, + "isDeleted": false, + "id": "Dm-1RibudmLUorHKwlVYc", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 96.10819271907883, + "y": 3075.1303190421236, + "strokeColor": "#fff", + "backgroundColor": "#cc79a7", + "width": 5, + "height": 25, + "seed": 1309387017, + "groupIds": [ + "GLmuzk7y0vrOVsvijbxUU", + "f65Rs-wPxGMByM1z2qQBh", + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "1", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "id": "dZqtgWsRhIMwEVVreE-f4", + "type": "arrow", + "x": 507.8874699756361, + "y": 3284.566650654845, + "width": 145.20552493427294, + "height": 57.182504145363055, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#868e96", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "knmpFwF2JIgqacI8A5vfL" + ], + "strokeSharpness": "sharp", + "seed": 581148649, + "version": 965, + "versionNonce": 178759143, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + -145.20552493427294, + 57.182504145363055 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "focus": 0.4795690487098673, + "gap": 20.609845906740247, + "elementId": "DRetAtj-W2gZkLicBAf_y" + }, + "endBinding": { + "focus": -0.4659491151359682, + "gap": 4.454639308426124, + "elementId": "5mPCKZrZxzLUd9YNU8R17" + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "type": "rectangle", + "version": 1334, + "versionNonce": 1900138407, + "isDeleted": false, + "id": "_uf8izxI_0Cpf2EmQwXmD", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1089.8050937915652, + "y": 3206.928815897523, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 138.7765706380212, + "height": 73.54219563802111, + "seed": 1442277161, + "groupIds": [ + "Lhe6mt76RcNRR5c1FWrY9", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "alva7L_sgKWmlarav_-4w" + ] + }, + { + "type": "text", + "version": 982, + "versionNonce": 406954569, + "isDeleted": false, + "id": "Q20bXPzeDt-OvqKMdZgiS", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1115.9784132902632, + "y": 3234.0868562621067, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 88, + "height": 25, + "seed": 275981449, + "groupIds": [ + "H17C86c8Kb4fkcw17AuOR", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "G1 Stack", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1402, + "versionNonce": 1071071943, + "isDeleted": false, + "id": "mN-Ov2KnI_wCWyJChGPfn", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1259.1148878996382, + "y": 3206.928815897523, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 138.7765706380212, + "height": 73.54219563802111, + "seed": 860123369, + "groupIds": [ + "gXqLtmU6bKcNTMPfStv3Z", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 1058, + "versionNonce": 1044934953, + "isDeleted": false, + "id": "_-iU9MvY4OW82pKUqyU2M", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1285.7184035246385, + "y": 3234.517052388409, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 97, + "height": 25, + "seed": 423128009, + "groupIds": [ + "mLHI0VGnonP7HDmbl0ssy", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "G2 Stack", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1466, + "versionNonce": 2106675687, + "isDeleted": false, + "id": "lWEpW2Hgttbz8QYRjY5ck", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1427.8917433683882, + "y": 3206.928815897523, + "strokeColor": "#000000", + "backgroundColor": "#56b4e9", + "width": 138.7765706380212, + "height": 73.54219563802111, + "seed": 1487538857, + "groupIds": [ + "wpmCs8BrP5dAhc1NgXRTT", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 1123, + "versionNonce": 1548903433, + "isDeleted": false, + "id": "x-7fhN9Qx_dekhM6dQKu5", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1453.6349684660447, + "y": 3234.086957987367, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 96, + "height": 25, + "seed": 977587593, + "groupIds": [ + "wFFl3wq4j4NSpP6enoXbj", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo", + "alva7L_sgKWmlarav_-4w" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "G3 Stack", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1635, + "versionNonce": 1385630793, + "isDeleted": false, + "id": "mojLaKVUEvvMXzaHnLSXb", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1091.1881504321902, + "y": 3305.1764965615853, + "strokeColor": "#000000", + "backgroundColor": "#e69f00", + "width": 474.75170898437534, + "height": 344.58142089843756, + "seed": 1698968681, + "groupIds": [ + "SOtxclYMLGyW4AZqbsbw0", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "alva7L_sgKWmlarav_-4w", + "3JaPVBYr4Gxs_D9TySy_F", + "0wroo1SgQUpIazPVyFUej" + ] + }, + { + "type": "text", + "version": 203, + "versionNonce": 1917331271, + "isDeleted": false, + "id": "ogXDbKCsMOjR02vdN-y5o", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1296.1112461353155, + "y": 3459.967207010804, + "strokeColor": "#000", + "backgroundColor": "#e69f00", + "width": 63, + "height": 35, + "seed": 225689417, + "groupIds": [ + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 28, + "fontFamily": 1, + "text": "Heap", + "baseline": 25, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 2026, + "versionNonce": 1395004585, + "isDeleted": false, + "id": "ffT5ho5NYlK8JApWfgmyh", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1067.2806797290652, + "y": 3134.9554475707, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 522.5579020182296, + "height": 529.8603515624993, + "seed": 1630465577, + "groupIds": [ + "SfFINBMdrFVtBxqUAsTuN", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 341, + "versionNonce": 1769055847, + "isDeleted": false, + "id": "lJ7ym0QwPI2eKT4Jhvnik", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1218.9475701913052, + "y": 3151.7926261188773, + "strokeColor": "#000", + "backgroundColor": "transparent", + "width": 218, + "height": 35, + "seed": 929120521, + "groupIds": [ + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 28, + "fontFamily": 1, + "text": "Program Memory", + "baseline": 25, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1322, + "versionNonce": 1591055209, + "isDeleted": false, + "id": "GRVOy3dSPCVgYOTE77po2", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1128.8133921877827, + "y": 3359.341757175725, + "strokeColor": "#000000", + "backgroundColor": "#009e73", + "width": 53.6649576822916, + "height": 26.19043986002598, + "seed": 108307177, + "groupIds": [ + "tQ_-7TLVlKZmnGk49gG5v", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "3JaPVBYr4Gxs_D9TySy_F" + ] + }, + { + "type": "rectangle", + "version": 1505, + "versionNonce": 509647657, + "isDeleted": false, + "id": "f3joLtibKTrl9vWHS7KfM", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1327.8519140906844, + "y": 3340.4905260094306, + "strokeColor": "#000000", + "backgroundColor": "#009e73", + "width": 17.23963419596349, + "height": 29.918772379557268, + "seed": 999448009, + "groupIds": [ + "xinGCqetG0dmxQ0fyExxN", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "mNsTz-GPH7OlJJyrDWME9", + "0wroo1SgQUpIazPVyFUej", + "APhgsVmVGn582M5qdNav7", + "alva7L_sgKWmlarav_-4w" + ] + }, + { + "type": "rectangle", + "version": 1518, + "versionNonce": 1104820137, + "isDeleted": false, + "id": "CfUN3VyBeaUQFApu5dqUi", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1205.4079356448137, + "y": 3404.2491581243858, + "strokeColor": "#000000", + "backgroundColor": "#009e73", + "width": 74.74497477213536, + "height": 25.158487955729097, + "seed": 1056292009, + "groupIds": [ + "3BxMb8LPSArXiGSqiR2M2", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "6P7QnoyzaVjepdcVC-roE", + "6KNvK7Ry0UzIeaYfkfSxF", + "APhgsVmVGn582M5qdNav7", + "kB8QPmLXnpX_FJYHzFJto" + ] + }, + { + "type": "rectangle", + "version": 1568, + "versionNonce": 1046877225, + "isDeleted": false, + "id": "iTwVIf_69FQdO451mE_KM", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1213.8044984935862, + "y": 3518.1939474659034, + "strokeColor": "#000000", + "backgroundColor": "#009e73", + "width": 73.63321940104164, + "height": 24.67005411783847, + "seed": 574927177, + "groupIds": [ + "ry2iEVsokTTM56FP9WZ5Y", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kB8QPmLXnpX_FJYHzFJto", + "xs-q63UJjRMI8Eti8tANb" + ] + }, + { + "type": "rectangle", + "version": 1508, + "versionNonce": 1596207273, + "isDeleted": false, + "id": "F29O3wX1kl208pztIJj1q", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1419.6097265906842, + "y": 3475.485643196931, + "strokeColor": "#000000", + "backgroundColor": "#009e73", + "width": 26.793009440104104, + "height": 26.793009440104104, + "seed": 1393664041, + "groupIds": [ + "mMzY5_ZpEEhLhilOOSHUy", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "6KNvK7Ry0UzIeaYfkfSxF" + ] + }, + { + "id": "3JaPVBYr4Gxs_D9TySy_F", + "type": "arrow", + "x": 1304.2622192856, + "y": 3284.2614372070443, + "width": 123.43474946189104, + "height": 69.17567951339197, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#868e96", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "seed": 1314898857, + "version": 908, + "versionNonce": 1464179847, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + -123.43474946189104, + 69.17567951339197 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "mojLaKVUEvvMXzaHnLSXb", + "focus": 0.6774006243896765, + "gap": 20.915059354540972 + }, + "endBinding": { + "elementId": "GRVOy3dSPCVgYOTE77po2", + "focus": -0.17373026611003745, + "gap": 5.904640455288927 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "0wroo1SgQUpIazPVyFUej", + "type": "arrow", + "x": 1188.4548091915958, + "y": 3284.869440516508, + "width": 132.69451037892475, + "height": 62.7847366668193, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#868e96", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "seed": 1387584871, + "version": 938, + "versionNonce": 921659079, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + 132.69451037892475, + 62.7847366668193 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "mojLaKVUEvvMXzaHnLSXb", + "focus": -0.4437885813865231, + "gap": 20.30705604507739 + }, + "endBinding": { + "elementId": "f3joLtibKTrl9vWHS7KfM", + "focus": 0.028674313033343227, + "gap": 6.702594520163757 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "APhgsVmVGn582M5qdNav7", + "type": "arrow", + "x": 1325.0942234415052, + "y": 3362.3459881294148, + "width": 57.283743659770835, + "height": 39.1454793457915, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#868e96", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "seed": 832548201, + "version": 1110, + "versionNonce": 903586055, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + -57.283743659770835, + 39.1454793457915 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "f3joLtibKTrl9vWHS7KfM", + "focus": 0.04215236238546163, + "gap": 2.757690649179267 + }, + "endBinding": { + "elementId": "CfUN3VyBeaUQFApu5dqUi", + "focus": 0.046372435837427915, + "gap": 2.757690649179267 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "6KNvK7Ry0UzIeaYfkfSxF", + "type": "arrow", + "x": 1282.5118810752242, + "y": 3434.5688739065768, + "width": 127.6391949380581, + "height": 42.6698224658121, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#868e96", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "seed": 301471817, + "version": 788, + "versionNonce": 1512983367, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + 127.6391949380581, + 42.6698224658121 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "CfUN3VyBeaUQFApu5dqUi", + "focus": 0.17781098106646914, + "gap": 5.161227826462209 + }, + "endBinding": { + "elementId": "F29O3wX1kl208pztIJj1q", + "focus": 0.2239426520524844, + "gap": 9.45865057740184 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "kB8QPmLXnpX_FJYHzFJto", + "type": "arrow", + "x": 1240.5741876482487, + "y": 3438.1067658089873, + "width": 2.0887486070124908, + "height": 75.20340622580306, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#868e96", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "seed": 1707091753, + "version": 930, + "versionNonce": 1896572295, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + 2.0887486070124908, + 75.20340622580306 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "CfUN3VyBeaUQFApu5dqUi", + "focus": 0.07415418333460483, + "gap": 8.699119728872802 + }, + "endBinding": { + "elementId": "iTwVIf_69FQdO451mE_KM", + "focus": -0.20129398578200278, + "gap": 4.883775431113236 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "type": "rectangle", + "version": 1951, + "versionNonce": 203514983, + "isDeleted": false, + "id": "c8BogndUMwGsE3ZJfhAeG", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1615.014869238564, + "y": 3358.832789367411, + "strokeColor": "#000000", + "backgroundColor": "#009e73", + "width": 26.793009440104104, + "height": 26.793009440104104, + "seed": 1930786473, + "groupIds": [ + "-lRJ-Bmtey5DLigabEvsW", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 1710, + "versionNonce": 2043414057, + "isDeleted": false, + "id": "oCsW03DEjeeA1bemoeBmc", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1660.8404738371382, + "y": 3360.8591900430306, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 300, + "height": 25, + "seed": 2029974601, + "groupIds": [ + "WF6RMk2rPvc_xE5teW4JU", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Referenced Allocation (In-Use)", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 1982, + "versionNonce": 728121223, + "isDeleted": false, + "id": "GiJMdEVOb6UdX0ECmJ-l1", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1615.014869238564, + "y": 3417.7247723996375, + "strokeColor": "#000000", + "backgroundColor": "#868e96", + "width": 26.793009440104104, + "height": 26.793009440104104, + "seed": 1281538441, + "groupIds": [ + "wIO1TOK8I52wI11bBxWYZ", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 1779, + "versionNonce": 1822120201, + "isDeleted": false, + "id": "XyNOHJFcy13eF6cJgsO6T", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1660.8404738371382, + "y": 3419.751173075257, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 337, + "height": 25, + "seed": 1734555145, + "groupIds": [ + "D5sFav9AfXPdDnlsrJAKi", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kDNQJn62Pa_mTnOpzEMXo" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Unreferenced Allocation (Garbage)", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "ellipse", + "version": 1093, + "versionNonce": 1807068551, + "isDeleted": false, + "id": "ds0z_hUj1rL_5JdXn-aWg", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1160.5028612981805, + "y": 3071.7377409171236, + "strokeColor": "transparent", + "backgroundColor": "#cc79a7", + "width": 31.78515625, + "height": 31.78515625, + "seed": 1472686473, + "groupIds": [ + "tzqLh1yPygX3YmeTtkD9Y", + "dToasXu9CJmqU_7VFSjoX", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 977, + "versionNonce": 1564160519, + "isDeleted": false, + "id": "PbhIPDRB0l7fhKXTjmo7M", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1169.3954394231805, + "y": 3075.1303190421236, + "strokeColor": "#fff", + "backgroundColor": "#cc79a7", + "width": 14, + "height": 25, + "seed": 1880313961, + "groupIds": [ + "tzqLh1yPygX3YmeTtkD9Y", + "dToasXu9CJmqU_7VFSjoX", + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "2", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "id": "alva7L_sgKWmlarav_-4w", + "type": "arrow", + "x": 1494.751712529347, + "y": 3284.566650654845, + "width": 145.20552493427294, + "height": 57.182504145363055, + "angle": 0, + "strokeColor": "#000", + "backgroundColor": "#868e96", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "bAvWvZwkC3ItkwHlLYSrN" + ], + "strokeSharpness": "sharp", + "seed": 1121674889, + "version": 1136, + "versionNonce": 258308295, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + -145.20552493427294, + 57.182504145363055 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "mojLaKVUEvvMXzaHnLSXb", + "focus": 0.4795690487098674, + "gap": 20.609845906740247 + }, + "endBinding": { + "elementId": "f3joLtibKTrl9vWHS7KfM", + "focus": -0.4659491151359659, + "gap": 4.4546393084262945 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + } +} \ No newline at end of file diff --git a/guide/heap-gc.1.png b/guide/heap-gc.1.png new file mode 100644 index 0000000..5f48a05 Binary files /dev/null and b/guide/heap-gc.1.png differ diff --git a/guide/heap-gc.2.png b/guide/heap-gc.2.png new file mode 100644 index 0000000..6d08163 Binary files /dev/null and b/guide/heap-gc.2.png differ diff --git a/guide/heap-gc.gif b/guide/heap-gc.gif new file mode 100644 index 0000000..369601d Binary files /dev/null and b/guide/heap-gc.gif differ diff --git a/guide/heap-simple.png b/guide/heap-simple.png new file mode 100644 index 0000000..ea39359 Binary files /dev/null and b/guide/heap-simple.png differ diff --git a/guide/heap.go b/guide/heap.go new file mode 100644 index 0000000..2744071 --- /dev/null +++ b/guide/heap.go @@ -0,0 +1,28 @@ +// +build ignore + +package main + +import ( + "fmt" + "sync" + "sync/atomic" +) + +func main() { + var ( + sum int32 + wg = &sync.WaitGroup{} + ) + + wg.Add(2) + go add(&sum, 23, wg) + go add(&sum, 42, wg) + wg.Wait() + + fmt.Println(sum) +} + +func add(dst *int32, delta int32, wg *sync.WaitGroup) { + atomic.AddInt32(dst, delta) + wg.Done() +} diff --git a/guide/heap.png b/guide/heap.png new file mode 100644 index 0000000..38c62b5 Binary files /dev/null and b/guide/heap.png differ diff --git a/guide/heap2.go b/guide/heap2.go new file mode 100644 index 0000000..e4fbaf3 --- /dev/null +++ b/guide/heap2.go @@ -0,0 +1,16 @@ +// +build ignore + +package main + +import ( + "fmt" +) + +func main() { + fmt.Println(*add(23, 42)) +} + +func add(a, b int) *int { + sum := a + b + return &sum +} diff --git a/guide/profiler-venn.png b/guide/profiler-venn.png new file mode 100644 index 0000000..3fd1f0b Binary files /dev/null and b/guide/profiler-venn.png differ diff --git a/guide/scheduler-complete.png b/guide/scheduler-complete.png new file mode 100644 index 0000000..0eaaa4e Binary files /dev/null and b/guide/scheduler-complete.png differ diff --git a/guide/scheduler.1.png b/guide/scheduler.1.png new file mode 100644 index 0000000..8ee465c Binary files /dev/null and b/guide/scheduler.1.png differ diff --git a/guide/scheduler.2.png b/guide/scheduler.2.png new file mode 100644 index 0000000..d7af8c4 Binary files /dev/null and b/guide/scheduler.2.png differ diff --git a/guide/scheduler.3.png b/guide/scheduler.3.png new file mode 100644 index 0000000..496012e Binary files /dev/null and b/guide/scheduler.3.png differ diff --git a/guide/scheduler.4.png b/guide/scheduler.4.png new file mode 100644 index 0000000..1abfe0f Binary files /dev/null and b/guide/scheduler.4.png differ diff --git a/guide/scheduler.gif b/guide/scheduler.gif new file mode 100644 index 0000000..ca569ad Binary files /dev/null and b/guide/scheduler.gif differ diff --git a/guide/stack.gif b/guide/stack.gif new file mode 100644 index 0000000..4268352 Binary files /dev/null and b/guide/stack.gif differ diff --git a/guide/stack.go b/guide/stack.go new file mode 100644 index 0000000..1a7bf56 --- /dev/null +++ b/guide/stack.go @@ -0,0 +1,15 @@ +// +build ignore + +package main + +import "fmt" + +func main() { + sum := 0 + sum = add(23, 42) + fmt.Println(sum) +} + +func add(a, b int) int { + return a + b +} diff --git a/guide/stack1.png b/guide/stack1.png new file mode 100644 index 0000000..fc735e7 Binary files /dev/null and b/guide/stack1.png differ diff --git a/guide/stack2.png b/guide/stack2.png new file mode 100644 index 0000000..c7f1bac Binary files /dev/null and b/guide/stack2.png differ diff --git a/guide/stack3.png b/guide/stack3.png new file mode 100644 index 0000000..2a02097 Binary files /dev/null and b/guide/stack3.png differ diff --git a/guide/timeline.png b/guide/timeline.png new file mode 100644 index 0000000..43b15cd Binary files /dev/null and b/guide/timeline.png differ diff --git a/hello.trace b/hello.trace new file mode 100644 index 0000000..1e426db Binary files /dev/null and b/hello.trace differ diff --git a/profilers.excalidraw b/profilers.excalidraw new file mode 100644 index 0000000..43833a6 --- /dev/null +++ b/profilers.excalidraw @@ -0,0 +1,852 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "type": "ellipse", + "version": 401, + "versionNonce": 2058151026, + "isDeleted": false, + "id": "OkVhsngC1W_qO9sNi0ZKD", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 626.0372924804688, + "y": 485.170148361568, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 392.02349853515625, + "height": 388.1683520208971, + "seed": 1622389102, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 299, + "versionNonce": 385652471, + "isDeleted": false, + "id": "zi6i3xeoTlw2jmvkvo0MH", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 756.6563720703125, + "y": 807.8286743164062, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 148, + "height": 25, + "seed": 1862147767, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Goroutine Time", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "ellipse", + "version": 410, + "versionNonce": 1442166777, + "isDeleted": false, + "id": "YREBQWDaV41cof7PNs-br", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 630.8078652393413, + "y": 573.218292236328, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 218.25456981428613, + "height": 216.10826137312208, + "seed": 2138441529, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 241, + "versionNonce": 843993305, + "isDeleted": false, + "id": "GLANOsn9G3AgWIiZsTm0k", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 686.0673217773438, + "y": 733.8128662109375, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 105, + "height": 25, + "seed": 1548483929, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Block Time", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "ellipse", + "version": 547, + "versionNonce": 488539447, + "isDeleted": false, + "id": "4JSZd_8EU30-i5ZTcEMII", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 669.7872068781337, + "y": 574.3515319824218, + "strokeColor": "#000000", + "backgroundColor": "#fa5252", + "width": 143.066548976275, + "height": 141.65963712110846, + "seed": 714197463, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 337, + "versionNonce": 347726382, + "isDeleted": false, + "id": "9INmL5p1bzQ4ybvAY_FvP", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 684.9630126953125, + "y": 635.8465576171875, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 114, + "height": 25, + "seed": 2132545303, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Mutex Time", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "ellipse", + "version": 700, + "versionNonce": 933676631, + "isDeleted": false, + "id": "WowgALfO30J7LlVnLjWSY", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 864.6472817432475, + "y": 577.3910805262379, + "strokeColor": "#000000", + "backgroundColor": "#82c91e", + "width": 140.0686567283485, + "height": 138.69122604941987, + "seed": 460035961, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 197, + "versionNonce": 1715728558, + "isDeleted": false, + "id": "Y_QmsQGgj_OEe1xJWA90D", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 889.7316589355468, + "y": 637.8959048747429, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 94, + "height": 25, + "seed": 513434745, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "CPU Time", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "arrow", + "version": 685, + "versionNonce": 556082670, + "isDeleted": false, + "id": "LQL7eklipWPJw7N6IV0k3", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1046.9965418640527, + "y": 765.9002716163905, + "strokeColor": "#000000", + "backgroundColor": "#82c91e", + "width": 144.2815760437402, + "height": 6.835452280452955, + "seed": 1019757362, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "focus": 0.09220703124999999, + "gap": 9.483194464072312, + "elementId": "r5QpngwDotW31qiS-84QZ" + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -144.2815760437402, + -6.835452280452955 + ] + ] + }, + { + "type": "text", + "version": 234, + "versionNonce": 663195186, + "isDeleted": false, + "id": "r5QpngwDotW31qiS-84QZ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1056.479736328125, + "y": 738.490736219618, + "strokeColor": "#000000", + "backgroundColor": "#82c91e", + "width": 239, + "height": 75, + "seed": 529830642, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "LQL7eklipWPJw7N6IV0k3" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Untracked Waiting Time\ne.g. I/O, Syscalls, Sleep,\nScheduler Backlog, etc.", + "baseline": 68, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 188, + "versionNonce": 87819511, + "isDeleted": false, + "id": "BH5c8zmvtzjHySRm1GZOB", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 177.8948669433594, + "y": 389.87994384765625, + "strokeColor": "#000000", + "backgroundColor": "#82c91e", + "width": 334.8977329984625, + "height": 0.303227850731389, + "seed": 905268695, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": { + "elementId": "DT1c4m8VCacvhSdiUcK3K", + "focus": -0.047098311036471635, + "gap": 14.24469253864686 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 334.8977329984625, + -0.303227850731389 + ] + ] + }, + { + "type": "text", + "version": 151, + "versionNonce": 2894329, + "isDeleted": false, + "id": "DT1c4m8VCacvhSdiUcK3K", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 527.0372924804688, + "y": 376.4291076660156, + "strokeColor": "#000000", + "backgroundColor": "#82c91e", + "width": 97, + "height": 25, + "seed": 2055025303, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "BH5c8zmvtzjHySRm1GZOB" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Real Time", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 323, + "versionNonce": 804748857, + "isDeleted": false, + "id": "SNbwAWQEwwTH7J5l7yExz", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 178.53466796875, + "y": 336.39166259765625, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 165.1668701171875, + "height": 35.5604248046875, + "seed": 410318135, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 122, + "versionNonce": 961994489, + "isDeleted": false, + "id": "1sxMCW-plp7_uNKHrZJ13", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 220.16162109375, + "y": 343.5514831542969, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 97, + "height": 25, + "seed": 1588541015, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "doStuff1()", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "line", + "version": 29, + "versionNonce": 390918135, + "isDeleted": false, + "id": "BdsEqyfj0izYHykOviXP-", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 178.1519775390625, + "y": 380.7745056152344, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 0, + "height": 21.947662353515625, + "seed": 266744121, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 21.947662353515625 + ] + ] + }, + { + "type": "line", + "version": 237, + "versionNonce": 70479609, + "isDeleted": false, + "id": "Ngp0cS95KlyTzApzR7ZV2", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 345.88088042160564, + "y": 380.3093566894531, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 0, + "height": 21.947662353515625, + "seed": 1368225719, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 21.947662353515625 + ] + ] + }, + { + "type": "text", + "version": 40, + "versionNonce": 507107607, + "isDeleted": false, + "id": "R4usAXLmRgnzUTbtTE9NM", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 165.52973496819067, + "y": 408.647611177885, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 25, + "height": 25, + "seed": 631824569, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "0s", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 202, + "versionNonce": 1572677593, + "isDeleted": false, + "id": "dckeEuAPShssVtkjy2C8I", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 338.96007912228555, + "y": 410.28450461471147, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 16, + "height": 25, + "seed": 2000766935, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "1s", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 346, + "versionNonce": 964755481, + "isDeleted": false, + "id": "ok9rk5WDp8xn1Qi-tSrrr", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 498.30740704523805, + "y": 407.80578483763713, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 25, + "height": 25, + "seed": 1298572215, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "2s", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 446, + "versionNonce": 200367575, + "isDeleted": false, + "id": "eexikhxknvYvYmmcOo-ul", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 346.45037841796875, + "y": 336.39166259765625, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "width": 165.1668701171875, + "height": 35.5604248046875, + "seed": 1342601751, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 259, + "versionNonce": 894383513, + "isDeleted": false, + "id": "OxEmug0EizIQ-QxmKEAI4", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 388.07733154296875, + "y": 343.5514831542969, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 106, + "height": 25, + "seed": 373527255, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "doStuff2()", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "id": "5nPCmBZUtW-sy9jSYVrnr", + "type": "arrow", + "x": 565.5727717042007, + "y": 723.9286336591438, + "width": 96.63453504774316, + "height": 0.0035721776366699487, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2009323314, + "version": 139, + "versionNonce": 156517294, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + 96.63453504774316, + 0.0035721776366699487 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "qGeURJQ0SK2OA3yANfDzs", + "focus": -0.1943830635497902, + "gap": 4.673326280381815 + }, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "Zw3pCq23-wlOAG9qzCGEn", + "type": "arrow", + "x": 566.5300145644317, + "y": 615.9900400381694, + "width": 147.2325357856023, + "height": 0, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1500343342, + "version": 378, + "versionNonce": 1898901614, + "isDeleted": false, + "boundElementIds": null, + "points": [ + [ + 0, + 0 + ], + [ + 147.2325357856023, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "xX3KMMOFeoWOYKAxIHlez", + "focus": -0.08419197923811227, + "gap": 9.557968665994167 + }, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "type": "text", + "version": 258, + "versionNonce": 1735386670, + "isDeleted": false, + "id": "xX3KMMOFeoWOYKAxIHlez", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 442.97204589843744, + "y": 604.5424397786458, + "strokeColor": "#000000", + "backgroundColor": "#82c91e", + "width": 114, + "height": 25, + "seed": 1832387353, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kBCBSYv6myf_GunPogGXE", + "Zw3pCq23-wlOAG9qzCGEn" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Mutex Wait", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "id": "qGeURJQ0SK2OA3yANfDzs", + "type": "text", + "x": 342.8994454238188, + "y": 713.8550031458082, + "width": 218, + "height": 25, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "sharp", + "seed": 1013246894, + "version": 133, + "versionNonce": 171504754, + "isDeleted": false, + "boundElementIds": [ + "5nPCmBZUtW-sy9jSYVrnr" + ], + "text": "Mutex + Channel Wait", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18 + }, + { + "type": "arrow", + "version": 1468, + "versionNonce": 308051182, + "isDeleted": false, + "id": "kBCBSYv6myf_GunPogGXE", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1049.8156880887022, + "y": 621.7754266468776, + "strokeColor": "#000000", + "backgroundColor": "#82c91e", + "width": 73.68763800422926, + "height": 0, + "seed": 1548243191, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "o7HqqenoMX9Jbq_HhYpVp", + "focus": -0.11262693564110121, + "gap": 14.676232378519217 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -73.68763800422926, + 0 + ] + ] + }, + { + "id": "o7HqqenoMX9Jbq_HhYpVp", + "type": "text", + "x": 1064.4919204672215, + "y": 607.8675899513638, + "width": 210, + "height": 25, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "#228be6", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "sharp", + "seed": 2043685486, + "version": 372, + "versionNonce": 290735922, + "isDeleted": false, + "boundElementIds": [ + "kBCBSYv6myf_GunPogGXE" + ], + "text": "User and Kernel Time", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18 + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + } +} \ No newline at end of file diff --git a/scheduler.png b/scheduler.png new file mode 100644 index 0000000..25d5568 Binary files /dev/null and b/scheduler.png differ