Browse Source

JNI-115: perf test Encrypted/Unencrypted msg sizes small/big/huge

pull/2/head
heck 5 years ago
parent
commit
c03d7557ed
  1. 93
      test/java/foundation/pEp/jniadapter/test/jni115/TestAlice.java
  2. 4
      test/java/foundation/pEp/pitytest/TestUnit.java

93
test/java/foundation/pEp/jniadapter/test/jni115/TestAlice.java

@ -12,25 +12,53 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
class Jni115TestContext extends AdapterBaseTestContext { class Jni115TestContext extends AdapterBaseTestContext {
public int messagesToBobCount = 1000; public int messagesToBobCount = 10;
public List<Message> messagesToBob = new ArrayList<>(); public List<Message> messagesToBobSmall;
public List<Message> messagesToBobBig;
public List<Message> messagesToBobHuge;
public List<Message> messagesToBob;
@Override @Override
public void init() throws Throwable { public void init() throws Throwable {
super.init(); super.init();
messagesToBobSmall = new ArrayList<>();
messagesToBobBig = new ArrayList<>();
messagesToBobHuge = new ArrayList<>();
log("Preparing " + messagesToBobCount + " messagesToBob small");
for (int i = 0; i < messagesToBobCount; i++) { for (int i = 0; i < messagesToBobCount; i++) {
logRaw(".");
Message tmp = AdapterTestUtils.makeNewTestMessage(alice, bob, Message.Direction.Outgoing); Message tmp = AdapterTestUtils.makeNewTestMessage(alice, bob, Message.Direction.Outgoing);
tmp.setLongmsg(tmp.getLongmsg() + " nr: " + String.valueOf(i)); tmp.setLongmsg(tmp.getLongmsg() + " nr: " + String.valueOf(i));
messagesToBob.add(tmp); messagesToBobSmall.add(tmp);
} }
logRaw("\n");
log("Preparing " + messagesToBobCount + " messagesToBob big");
for (int i = 0; i < messagesToBobCount; i++) {
logRaw(".");
Message tmp = AdapterTestUtils.makeNewTestMessage(alice, bob, Message.Direction.Outgoing);
tmp.setLongmsg(TestUtils.repeatString(tmp.getLongmsg() + " nr: " + String.valueOf(i), 100));
messagesToBobBig.add(tmp);
}
logRaw("\n");
log("Preparing " + messagesToBobCount + " messagesToBob huge");
for (int i = 0; i < messagesToBobCount; i++) {
logRaw(".");
Message tmp = AdapterTestUtils.makeNewTestMessage(alice, bob, Message.Direction.Outgoing);
tmp.setLongmsg(TestUtils.repeatString(tmp.getLongmsg() + " nr: " + String.valueOf(i), 10000));
messagesToBobHuge.add(tmp);
}
logRaw("\n");
} }
} }
class TestAlice { class TestAlice {
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
TestSuite.getDefault().setVerbose(true); TestSuite.getDefault().setVerbose(false);
TestSuite.getDefault().setTestColor(TestUtils.TermColor.GREEN); TestSuite.getDefault().setTestColor(TestUtils.TermColor.GREEN);
Jni115TestContext ctx1 = new Jni115TestContext(); Jni115TestContext ctx1 = new Jni115TestContext();
@ -40,25 +68,54 @@ class TestAlice {
if (ctx.alice.fpr == null) { if (ctx.alice.fpr == null) {
throw new RuntimeException(); throw new RuntimeException();
} }
}); }).run();
new TestUnit<Jni115TestContext>("importKey()", ctx1, ctx -> {
ctx.engine.importKey(ctx.keyBobPub);
});
new TestUnit<Jni115TestContext>("#MassEncryption", ctx1, ctx -> {
TestUtils.readKey(); TestUnit perfTest = new TestUnit<Jni115TestContext>("EncPerf mini message", ctx1, ctx -> {
log("Encrypting " + ctx.messagesToBobCount + " messages"); // TestUtils.readKey();
Duration total = new StopWatch(() -> { log("encrypting " + ctx.messagesToBobCount + " messages");
for (Message msg : ctx.messagesToBob) { Message encrypted = null;
Message encrypted = ctx.engine.encrypt_message(msg, null, Message.EncFormat.PEP); for (Message msg : ctx.messagesToBob) {
logRaw("."); encrypted = ctx.engine.encrypt_message(msg, null, Message.EncFormat.PEP);
logRaw(".");
if (encrypted == null) {
// log(msg.getEncFormat().toString());
} else {
// log(encrypted.getEncFormat().toString());
} }
}).getDuration(); }
logRaw("\n"); logRaw("\n");
log("Total time [ms]: " + total.toMillis()); // log(AdapterTestUtils.msgToString(encrypted,false));
}); });
TestSuite.getDefault().run(); // Perf test for UNENCRTYPTED (no pubkey)
ctx1.messagesToBob = ctx1.messagesToBobSmall;
perfTest.run();
ctx1.messagesToBob = ctx1.messagesToBobBig;
perfTest.run();
ctx1.messagesToBob = ctx1.messagesToBobHuge;
perfTest.run();
// Key import
new TestUnit<Jni115TestContext>("importKey()", ctx1, ctx -> {
ctx.engine.importKey(ctx.keyBobPub);
}).run();
// Perf test for ENCRTYPTED (with pubkey)
ctx1.messagesToBob = ctx1.messagesToBobSmall;
perfTest.run();
ctx1.messagesToBob = ctx1.messagesToBobBig;
perfTest.run();
ctx1.messagesToBob = ctx1.messagesToBobHuge;
perfTest.run();
// TestSuite.getDefault().run();
} }
} }

4
test/java/foundation/pEp/pitytest/TestUnit.java

@ -78,6 +78,10 @@ public class TestUnit<T extends TestContextInterface> implements Runnable {
return this; return this;
} }
public T getContext() {
return ctx;
}
public void run() { public void run() {
TestUtils.standardOutErrEnabled(verboseMode); TestUtils.standardOutErrEnabled(verboseMode);
if (ctx.isUninitializable()) { if (ctx.isUninitializable()) {

Loading…
Cancel
Save