The code below will run a BO Update 100 times and report the amount of time taken. Note the 5 "warmup" executions before the repeated 100 runs.
public void testMultiplePluginScripts() throws Exception { String docString1 = "<DR_ShortCreateIntervalRecords><factId>219250542869</factId><longDescr>REEE</longDescr></DR_ShortCreateIntervalRecords>"; Document doc1 = DocumentHelper.parseText(docString1); String docString2 = "<DR_ShortCreateIntervalRecords2><factId>219250542869</factId><longDescr>REEE</longDescr></DR_ShortCreateIntervalRecords2>"; Document doc2 = DocumentHelper.parseText(docString2); // warmups for (int i = 0; i < 5; i++) { BusinessObjectDispatcher.execute(doc1, BusinessObjectActionLookup.constants.FAST_UPDATE); rollbackAndContinue(); BusinessObjectDispatcher.execute(doc2, BusinessObjectActionLookup.constants.FAST_UPDATE); rollbackAndContinue(); } long totalElapsed = 0; // speed for (int i = 0; i < 100; i++) { long start = System.nanoTime(); BusinessObjectDispatcher.execute(doc1, BusinessObjectActionLookup.constants.FAST_UPDATE); flush(); totalElapsed += System.nanoTime() - start; rollbackAndContinue(); } System.out.println("Script (100): " + totalElapsed / 1000000 + "ms"); totalElapsed = 0; for (int i = 0; i < 100; i++) { long start = System.nanoTime(); BusinessObjectDispatcher.execute(doc2, BusinessObjectActionLookup.constants.FAST_UPDATE); flush(); totalElapsed += System.nanoTime() - start; rollbackAndContinue(); } System.out.println("Java (100): " + totalElapsed / 1000000 + "ms"); }
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.