Skip to content

Commit 9b33f97

Browse files
authored
refactor(monorepo): reason-tree-sitter (#2312)
This moves in `reason-tree-sitter` to this Onivim 'monorepo' - the goal being to bring in `EditorCoreTypes` so that we can better represent byte/character indices in the type system. This will also let us test tree-sitter changes more easily against Onivim - sorry this collides with #1589 @CrossR - hopefully it won't be too bad to merge (and make it easier for us to iterate / test tree-sitter changes in Onivim)
1 parent cbc1123 commit 9b33f97

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+225130
-182
lines changed

bench.esy.lock/index.json

+24-44
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bench/OniBench.re

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
print_endline("== CORE == ");
2+
OniBenchLib.BenchFramework.cli();
3+
4+
print_endline("== TreeSitter == ");
5+
TreeSitterBenchLib.BenchFramework.cli();
6+
7+
print_endline("Done!");

bench/exe/dune renamed to bench/dune

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
(name OniBench)
33
(public_name OniBench)
44
(modules OniBench)
5-
(libraries OniBench.lib)
5+
(libraries OniBench.lib OniBench.treesitter)
66
(package OniBench)
77
)

bench/exe/OniBench.re

-1
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
include Reperf.Make({
2+
let config = Reperf.Config.create(~snapshotDir="bench/__snapshots__", ());
3+
});
+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
open Treesitter;
2+
open BenchFramework;
3+
4+
Printexc.record_backtrace(true);
5+
6+
let jsonParser = Parser.json();
7+
let cParser = Parser.c();
8+
9+
let simpleJson = "[1, \"2\", { \"test\": [1] }]";
10+
11+
let simpleC = "int main() { return 1; }";
12+
13+
let parse = (v: string, ()) => {
14+
let _ = Parser.parseString(jsonParser, v);
15+
();
16+
};
17+
18+
let parseArray = (v: array(string), ()) => {
19+
let _ = ArrayParser.parse(jsonParser, None, v);
20+
();
21+
};
22+
23+
let setup = () => ();
24+
let options = Reperf.Options.create(~iterations=10, ());
25+
26+
bench(
27+
~name="parseString: Small JSON",
28+
~options,
29+
~setup,
30+
~f=parse(simpleJson),
31+
(),
32+
);
33+
34+
bench(~name="parseString: Small C", ~options, ~setup, ~f=parse(simpleC), ());
35+
36+
bench(
37+
~name="parseString: Large JSON (canada.json)",
38+
~options,
39+
~setup,
40+
~f=parse(TestData.largeJsonString),
41+
(),
42+
);
43+
44+
bench(
45+
~name="parseString: Large C (sqlite3.c)",
46+
~options,
47+
~setup,
48+
~f=parse(TestData.largeCString),
49+
(),
50+
);
51+
52+
bench(
53+
~name="parseArray: Large JSON (canada.json)",
54+
~options,
55+
~setup,
56+
~f=parseArray(TestData.largeJsonArray),
57+
(),
58+
);
59+
60+
bench(
61+
~name="parseArray: Large C (sqlite3.c)",
62+
~options,
63+
~setup,
64+
~f=parseArray(TestData.largeCArray),
65+
(),
66+
);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
open Treesitter;
2+
open BenchFramework;
3+
4+
Printexc.record_backtrace(true);
5+
6+
let cParser = Parser.c();
7+
8+
let (_, baseline) = ArrayParser.parse(cParser, None, TestData.largeCArray);
9+
10+
let createDelta = () => {
11+
let _ =
12+
ArrayParser.Delta.create(
13+
baseline,
14+
190279,
15+
190280,
16+
[|"#define A", "#define B"|],
17+
);
18+
();
19+
};
20+
21+
let delta =
22+
ArrayParser.Delta.create(
23+
baseline,
24+
190279,
25+
190280,
26+
[|"#define A", "#define B"|],
27+
);
28+
29+
let reparse = () => {
30+
let _ = ArrayParser.parse(cParser, Some(delta), TestData.largeCArray);
31+
();
32+
};
33+
34+
let setup = () => ();
35+
let options = Reperf.Options.create(~iterations=10, ());
36+
37+
bench(
38+
~name="[Incremental] C - ArrayParser.Delta.create",
39+
~options,
40+
~setup,
41+
~f=createDelta,
42+
(),
43+
);
44+
45+
bench(
46+
~name="[Incremental] C - ArrayParser.parse w/ delta update",
47+
~options,
48+
~setup,
49+
~f=reparse,
50+
(),
51+
);

0 commit comments

Comments
 (0)