Skip to content

Commit 61d763e

Browse files
committed
micro optimization: regular joins can be used in initialization code instead of leapjoins
that's 1% of free benchmark real estate
1 parent 7ba70b6 commit 61d763e

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

polonius-engine/src/output/initialization.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,10 @@ pub(super) fn init_var_maybe_initialized_on_exit<T: FactTypes>(
5959
// path_maybe_initialized_on_exit(Mother, point) :-
6060
// path_maybe_initialized_on_exit(Daughter, point),
6161
// child(Daughter, Mother).
62-
path_maybe_initialized_on_exit.from_leapjoin(
62+
path_maybe_initialized_on_exit.from_join(
6363
&path_maybe_initialized_on_exit,
64-
child.extend_with(|&(daughter, _point)| daughter),
65-
|&(_daughter, point), &mother| (mother, point),
64+
&child,
65+
|&_daughter, &point, &mother| (mother, point),
6666
);
6767

6868
// TODO: the following lines contain things left to implement for move
@@ -92,12 +92,12 @@ pub(super) fn init_var_maybe_initialized_on_exit<T: FactTypes>(
9292
// END TODO
9393

9494
// var_maybe_initialized_on_exit(var, point) :-
95-
// path_belongs_to_var(path, var),
96-
// path_maybe_initialized_at(path, point).
97-
var_maybe_initialized_on_exit.from_leapjoin(
95+
// path_maybe_initialized_on_exit(path, point),
96+
// path_belongs_to_var(path, var).
97+
var_maybe_initialized_on_exit.from_join(
9898
&path_maybe_initialized_on_exit,
99-
path_belongs_to_var.extend_with(|&(path, _point)| path),
100-
|&(_path, point), &var| (var, point),
99+
&path_belongs_to_var,
100+
|&_path, &point, &var| (var, point),
101101
);
102102
}
103103

0 commit comments

Comments
 (0)