From 0535b6bcde0f085a4e9f97e002ab7a5fe6a94cb7 Mon Sep 17 00:00:00 2001 From: Huanyi Chen Date: Sun, 25 Feb 2024 22:50:53 -0500 Subject: [PATCH] Prepare L20 flipped note --- lectures/flipped/L20.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lectures/flipped/L20.md b/lectures/flipped/L20.md index 7a9e2a7a..c0b78f34 100644 --- a/lectures/flipped/L20.md +++ b/lectures/flipped/L20.md @@ -23,7 +23,7 @@ Exercise: can we think of real-life software examples where observe-and-change makes sense? (Talk about the ones in the lecture notes: data structure selection; database query processing; indexes; external services). -Consider the [im docs](https://docs.rs/im/14.3.0/im/): +Consider the [im docs](https://docs.rs/im/15.1.0/im/index.html): > For instance, Vec beats everything at memory usage, indexing and operations > that happen at the back of the list, but is terrible at insertion and removal, @@ -48,7 +48,7 @@ Consider the [im docs](https://docs.rs/im/14.3.0/im/): > of a single chunk. Exercise: Look at `lectures/live-coding/L20a-skel`, experiment with different -data structures and operation mixes, and try to understand what is fast when. +data structures and operations, and try to understand what is fast and when. Exercise: Look at `lectures/live-coding/L20c-skel`, choose a good initial size. @@ -59,12 +59,10 @@ given the workload. ## Rewriting the binary [30 minutes] -note: L20c-skel basically does this already. - Have the program modify itself to add inline annotations, recompile itself and re-invoke the new version of itself. You may find the [build script examples](https://doc.rust-lang.org/cargo/reference/build-script-examples.html) -useful. +useful, especially how it uses `Command::new`. # After-action report, plam, 13 Mar 2023