BooleanColumnPerf.java
package tech.tablesaw.perf;
import tech.tablesaw.api.BooleanColumn;
import tech.tablesaw.testutil.NanoBench;
public class BooleanColumnPerf {
public static void main(String[] args) {
NanoBench bench = NanoBench.create();
bench.warmUps(50);
Runnable r = new BooleanColumnPerf.Runner();
bench.measure("test", r);
}
static class Runner extends Thread {
public void run() {
BooleanColumn booleanColumn = BooleanColumn.create("t");
for (int i = 0; i < 10_000_000; i++) {
booleanColumn.append(i % 2 == 0 ? Boolean.TRUE : Boolean.FALSE);
}
for (int i = 0; i < 1_000_000; i++) {
if (i % 4 == 0) {
booleanColumn.setMissing(i);
}
if (i % 5 == 0) {
booleanColumn.set(i, Boolean.FALSE);
}
}
booleanColumn.size();
booleanColumn.countMissing();
booleanColumn.countTrue();
booleanColumn.countFalse();
booleanColumn.sortAscending();
booleanColumn.sortDescending();
booleanColumn.asSelection();
booleanColumn.isFalse();
}
}
}