@elaraai/east-c-cli 1.0.74 → 1.0.76
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.
- package/README.md +33 -0
- 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.
|
|
3
|
+
"version": "1.0.76",
|
|
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.
|
|
35
|
+
"@elaraai/east": "1.0.76"
|
|
36
36
|
},
|
|
37
37
|
"optionalDependencies": {
|
|
38
|
-
"@elaraai/east-c-cli-linux-x64": "1.0.
|
|
39
|
-
"@elaraai/east-c-cli-linux-arm64": "1.0.
|
|
40
|
-
"@elaraai/east-c-cli-darwin-arm64": "1.0.
|
|
41
|
-
"@elaraai/east-c-cli-darwin-x64": "1.0.
|
|
42
|
-
"@elaraai/east-c-cli-win32-x64": "1.0.
|
|
38
|
+
"@elaraai/east-c-cli-linux-x64": "1.0.76",
|
|
39
|
+
"@elaraai/east-c-cli-linux-arm64": "1.0.76",
|
|
40
|
+
"@elaraai/east-c-cli-darwin-arm64": "1.0.76",
|
|
41
|
+
"@elaraai/east-c-cli-darwin-x64": "1.0.76",
|
|
42
|
+
"@elaraai/east-c-cli-win32-x64": "1.0.76"
|
|
43
43
|
},
|
|
44
44
|
"scripts": {}
|
|
45
45
|
}
|