Skip to content

Commit

Permalink
refactor(monorepo): reason-tree-sitter (#2312)
Browse files Browse the repository at this point in the history
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)
  • Loading branch information
bryphe committed Aug 17, 2020
1 parent cbc1123 commit 9b33f97
Show file tree
Hide file tree
Showing 42 changed files with 225,130 additions and 182 deletions.
68 changes: 24 additions & 44 deletions bench.esy.lock/index.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions bench/OniBench.re
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
print_endline("== CORE == ");
OniBenchLib.BenchFramework.cli();

print_endline("== TreeSitter == ");
TreeSitterBenchLib.BenchFramework.cli();

print_endline("Done!");
2 changes: 1 addition & 1 deletion bench/exe/dune → bench/dune
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
(name OniBench)
(public_name OniBench)
(modules OniBench)
(libraries OniBench.lib)
(libraries OniBench.lib OniBench.treesitter)
(package OniBench)
)
1 change: 0 additions & 1 deletion bench/exe/OniBench.re

This file was deleted.

3 changes: 3 additions & 0 deletions bench/reason-treesitter/BenchFramework.re
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
include Reperf.Make({
let config = Reperf.Config.create(~snapshotDir="bench/__snapshots__", ());
});
66 changes: 66 additions & 0 deletions bench/reason-treesitter/FullParseJson.re
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
open Treesitter;
open BenchFramework;

Printexc.record_backtrace(true);

let jsonParser = Parser.json();
let cParser = Parser.c();

let simpleJson = "[1, \"2\", { \"test\": [1] }]";

let simpleC = "int main() { return 1; }";

let parse = (v: string, ()) => {
let _ = Parser.parseString(jsonParser, v);
();
};

let parseArray = (v: array(string), ()) => {
let _ = ArrayParser.parse(jsonParser, None, v);
();
};

let setup = () => ();
let options = Reperf.Options.create(~iterations=10, ());

bench(
~name="parseString: Small JSON",
~options,
~setup,
~f=parse(simpleJson),
(),
);

bench(~name="parseString: Small C", ~options, ~setup, ~f=parse(simpleC), ());

bench(
~name="parseString: Large JSON (canada.json)",
~options,
~setup,
~f=parse(TestData.largeJsonString),
(),
);

bench(
~name="parseString: Large C (sqlite3.c)",
~options,
~setup,
~f=parse(TestData.largeCString),
(),
);

bench(
~name="parseArray: Large JSON (canada.json)",
~options,
~setup,
~f=parseArray(TestData.largeJsonArray),
(),
);

bench(
~name="parseArray: Large C (sqlite3.c)",
~options,
~setup,
~f=parseArray(TestData.largeCArray),
(),
);
51 changes: 51 additions & 0 deletions bench/reason-treesitter/IncrementalParseC.re
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
open Treesitter;
open BenchFramework;

Printexc.record_backtrace(true);

let cParser = Parser.c();

let (_, baseline) = ArrayParser.parse(cParser, None, TestData.largeCArray);

let createDelta = () => {
let _ =
ArrayParser.Delta.create(
baseline,
190279,
190280,
[|"#define A", "#define B"|],
);
();
};

let delta =
ArrayParser.Delta.create(
baseline,
190279,
190280,
[|"#define A", "#define B"|],
);

let reparse = () => {
let _ = ArrayParser.parse(cParser, Some(delta), TestData.largeCArray);
();
};

let setup = () => ();
let options = Reperf.Options.create(~iterations=10, ());

bench(
~name="[Incremental] C - ArrayParser.Delta.create",
~options,
~setup,
~f=createDelta,
(),
);

bench(
~name="[Incremental] C - ArrayParser.parse w/ delta update",
~options,
~setup,
~f=reparse,
(),
);
Loading

0 comments on commit 9b33f97

Please sign in to comment.