@elaraai/east-c-cli 1.0.75 → 1.0.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +33 -0
  2. package/package.json +7 -7
package/README.md CHANGED
@@ -33,6 +33,39 @@ See [`docs/conventions/MAKEFILE_TARGETS.md`](../../../../docs/conventions/MAKEFI
33
33
 
34
34
  The CLI loads the standard platform from `east-c-std` by default. Custom platform functions can be linked at build time.
35
35
 
36
+ ### Streaming outputs and inputs
37
+
38
+ A function whose trailing parameter is an emit capability writes its output
39
+ incrementally instead of returning it; a large collection input can be fed
40
+ lazily, one decoded segment at a time:
41
+
42
+ ```bash
43
+ # Emit a Dict (or array / set) through the trailing parameter, feeding
44
+ # input 0 lazily from an indexed beast2 blob
45
+ east-c run task.beast2 -i rows.beast2 --stream 0 --emit dict -o out.beast2 -v
46
+ ```
47
+
48
+ Dict and Set emissions may arrive in any order. While they ascend, segments
49
+ stream straight to the output; on the first out-of-order key the sink
50
+ encodes each further emission as it arrives, keeps only the key, and spills
51
+ sorted runs of `EAST_EMIT_RUN_ELEMENTS` entries (default 100000) beside the
52
+ output as raw byte records, merging them at the end by decoding keys only.
53
+ With `-v` the epilogue reports the spills, the peak entries and bytes
54
+ buffered, and the time spent spilling and merging.
55
+
56
+ ### Profiling
57
+
58
+ ```bash
59
+ east-c run task.beast2 -i rows.beast2 --profile
60
+ ```
61
+
62
+ prints every East function the run called, by self time, with its call
63
+ count, its total time, and where it is: the name of the Let it was bound to
64
+ when the IR has one, its definition site, and — when that differs — the
65
+ site of the first call that reached it, which is what tells apart helpers
66
+ the TypeScript builder inlined at their call sites. Off, profiling costs
67
+ one branch per call.
68
+
36
69
  The `ir` toolbox (issue #627) works on IR files without running them:
37
70
 
38
71
  ```bash
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elaraai/east-c-cli",
3
- "version": "1.0.75",
3
+ "version": "1.0.77",
4
4
  "description": "Provides the `east-c` bin. A tiny launcher resolves the native binary for your platform from the matching per-platform package (@elaraai/east-c-cli-<target>), pulled in via optional dependencies.",
5
5
  "bin": {
6
6
  "east-c": "bin/east-c.mjs"
@@ -32,14 +32,14 @@
32
32
  "node": ">=18.0.0"
33
33
  },
34
34
  "devDependencies": {
35
- "@elaraai/east": "1.0.75"
35
+ "@elaraai/east": "1.0.77"
36
36
  },
37
37
  "optionalDependencies": {
38
- "@elaraai/east-c-cli-linux-x64": "1.0.75",
39
- "@elaraai/east-c-cli-linux-arm64": "1.0.75",
40
- "@elaraai/east-c-cli-darwin-arm64": "1.0.75",
41
- "@elaraai/east-c-cli-darwin-x64": "1.0.75",
42
- "@elaraai/east-c-cli-win32-x64": "1.0.75"
38
+ "@elaraai/east-c-cli-linux-x64": "1.0.77",
39
+ "@elaraai/east-c-cli-linux-arm64": "1.0.77",
40
+ "@elaraai/east-c-cli-darwin-arm64": "1.0.77",
41
+ "@elaraai/east-c-cli-darwin-x64": "1.0.77",
42
+ "@elaraai/east-c-cli-win32-x64": "1.0.77"
43
43
  },
44
44
  "scripts": {}
45
45
  }