newsletters:2024-12
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
newsletters:2024-12 [2024/12/31 20:30] – [New parallel evaluator] osnr | newsletters:2024-12 [2024/12/31 22:24] (current) – [New parallel evaluator] osnr | ||
---|---|---|---|
Line 13: | Line 13: | ||
* presented Folk at [[newsletters/ | * presented Folk at [[newsletters/ | ||
- | We're looking forward to seeing more big projects come to fruition | + | In 2025, we're looking forward to seeing more of these big projects come to fruition, then playing with the resulting |
(If you want to stop by next month, our next Folk open house will be [[https:// | (If you want to stop by next month, our next Folk open house will be [[https:// | ||
Line 95: | Line 95: | ||
</ | </ | ||
- | I seem to have all the parts now, so the next steps are system/ | + | I seem to have all the parts now, so the next steps are system/ |
+ | |||
+ | {{newsletters: | ||
==== New parallel evaluator ==== | ==== New parallel evaluator ==== | ||
Line 112: | Line 114: | ||
=== Performance and memory leaks === | === Performance and memory leaks === | ||
- | For most of this month, I've been staring at increasingly elaborate [[https:// | + | For most of this month, I've been staring at increasingly elaborate [[https:// |
{{newsletters: | {{newsletters: | ||
- | Some of the improvements this month: | + | Now that I've added enough hooks, I get these extremely rich views of all Folk programs/ |
+ | |||
+ | {{newsletters: | ||
+ | |||
+ | Some of the resulting | ||
* Fixed a ton of memory leaks (mostly freeing clauses and terms in clauses, and some transient objects in C); I think folk2 might be less leaky than folk1 now. | * Fixed a ton of memory leaks (mostly freeing clauses and terms in clauses, and some transient objects in C); I think folk2 might be less leaky than folk1 now. | ||
+ | * The Tracy memory visualization is very cool: | ||
+ | * {{newsletters: | ||
* Saw that we were spending a lot of time waiting on the one big trie lock, so replaced the trie with an immutable path-copying trie (and an [[https:// | * Saw that we were spending a lot of time waiting on the one big trie lock, so replaced the trie with an immutable path-copying trie (and an [[https:// | ||
* Fixed a [[https:// | * Fixed a [[https:// | ||
* Created (by patching up memory leaks) and then fixed a problem where we would leak all the statement slots which eventually caused the whole system to blow up | * Created (by patching up memory leaks) and then fixed a problem where we would leak all the statement slots which eventually caused the whole system to blow up | ||
- | * "We were not freeing aborted ref which caused us to run out of | + | |
- | statement slots which caused statementNew to hang which caused the | + | |
- | global workqueue to overflow." | + | * Fixed horrible bug where my steal-half deque operation was wrong (so were dropping lots of operations, the system was not behaving correctly), replaced with more standard steal-one |
- | I'm kind of addicted to it -- it feels like it makes a lot of the monitoring stuff I've hacked into folk2 obsolete, because you can just use Tracy to //see// everything (as long as you add the right hooks). No need for perf probes, or gperftools heap monitoring, or the trace log endpoint. | + | I'm kind of addicted to using Tracy -- it feels like it obsoletes |
And using Tracy feels // | And using Tracy feels // | ||
Line 150: | Line 158: | ||
(Even before this, we've been kind of poking at Linux to get stuff to work, locking threads at high priority and putting them on specific CPUs, etc. If I turn that stuff off and rely on default scheduling behavior, we do get worse at talking to the tags, so it's doing // | (Even before this, we've been kind of poking at Linux to get stuff to work, locking threads at high priority and putting them on specific CPUs, etc. If I turn that stuff off and rely on default scheduling behavior, we do get worse at talking to the tags, so it's doing // | ||
+ | |||
+ | {{newsletters: | ||
=== Rounds === | === Rounds === | ||
Line 166: | Line 176: | ||
==== Other Folk system improvements ==== | ==== Other Folk system improvements ==== | ||
- | * Sébastien Lerique has been setting up a system in France; fixed an error in calibration | + | * Sébastien Lerique has been setting up his system in France; |
* We might need a better strategy for calibrating ultra-short-throw / highly distorted projectors (maybe conservatively only support a single plane?) | * We might need a better strategy for calibrating ultra-short-throw / highly distorted projectors (maybe conservatively only support a single plane?) | ||
- | * Daniel Pipkin fixed SSID detection on macOS Sequoia | + | * Daniel Pipkin |
- | * Andrés added support for single-l '' | + | * Andrés |
==== Friends and outreach ==== | ==== Friends and outreach ==== |
newsletters/2024-12.1735677008.txt.gz · Last modified: 2024/12/31 20:30 by osnr