Skip to content

Commit c90e73a

Browse files
committed
Rename to quicksort, added change hierarchy functionality
1 parent 59c15c9 commit c90e73a

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/benchmark/quicksort-sibling.ts renamed to src/benchmark/quicksort.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ const arr = [
2929

3030
Log.global.level = Log.levels.INFO;
3131

32+
// Change the boolean value to toggle between the "matryoshka" version or "flat" version.
33+
const useHierarchy = true;
34+
3235
class QuickSorter extends Reactor {
3336
parentReadPort: InPort<number[]>;
3437
parentWritePort: OutPort<number[]>;
@@ -78,6 +81,12 @@ class QuickSorter extends Reactor {
7881
resultArr,
7982
numFragments
8083
) {
84+
const hierarchyImplementation = (
85+
useHierarchy
86+
? this.getReactor()._uncheckedAddChild
87+
: this.getReactor()._uncheckedAddSibling
88+
).bind(this.getReactor());
89+
8190
const fullarr = parentReadPort.get();
8291
if (fullarr == null) {
8392
throw Error("Received null from port");
@@ -100,11 +109,11 @@ class QuickSorter extends Reactor {
100109
);
101110

102111
// First, create 2 new reactors
103-
const leftReactor = this.getReactor()._uncheckedAddSibling(
112+
const leftReactor = hierarchyImplementation(
104113
QuickSorter,
105114
`${this.getReactor()._name}/l`
106115
);
107-
const rightReactor = this.getReactor()._uncheckedAddSibling(
116+
const rightReactor = hierarchyImplementation(
108117
QuickSorter,
109118
`${this.getReactor()._name}/r`
110119
);

0 commit comments

Comments
 (0)