| Summary: | [Performance] performance degradation of IAC vs full AC | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Marius Slavescu <slavescu> |
| Component: | TPTP | Assignee: | Samson Wai <samwai> |
| Status: | CLOSED DUPLICATE | QA Contact: | |
| Severity: | major | ||
| Priority: | P3 | CC: | sluiman, suwanda |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | closed460 | ||
|
Description
Marius Slavescu
The stream mode that is available through ExtendedDataServerListener.incommingStream should be faster when used from IAC than when comming from AC, because the message decoding process is not required in IAC. The stream mode avoids also the need of parserThread in XMLFragmentHandler. Can't be contained in 4.1. Transfering to 4.2 I haven't open a new bug, but I just noticed that the following default values may not be appropiate: private int bufferSize = 8192; private int dataChannelSize = 4096 * 1024 * 1024; // 4MB (this is 4Gb, was intended or is a typo ?) in: /org.eclipse.hyades.execution/src-iac-hyades/org/eclipse/tptp/platform/agentcontroller/internal/hyades/impl/SharedMemoryTransportReaderImpl.java If I use:
private int bufferSize = 64 * 1024 ; // 64k
private int dataChannelSize = 4 * 1024 * 1024; // 4MB
and also the following patch (to confirm that the problem is somewhere in the native code) to output the data at the source (activate the patch code by passing -CommunicationDebug.debugMessageValue=true in the VM args) and I don't do any processing it stops collectiong arround 13Mb (in less then 15s, about 1Mb/s including message headers):
Index: HyadesProcessingModuleImpl.java
===================================================================
RCS file: /home/tptp/platform/org.eclipse.hyades.execution/src-iac-hyades/org/eclipse/tptp/platform/agentcontroller/internal/hyades/impl/HyadesProcessingModuleImpl.java,v
retrieving revision 1.1.2.1
diff -u -r1.1.2.1 HyadesProcessingModuleImpl.java
--- HyadesProcessingModuleImpl.java 10 Nov 2005 16:24:40 -0000 1.1.2.1
+++ HyadesProcessingModuleImpl.java 24 Nov 2005 05:51:27 -0000
@@ -17,6 +17,7 @@
import java.util.Enumeration;
import java.util.Vector;
+import org.eclipse.hyades.execution.local.CommunicationDebug;
import org.eclipse.hyades.internal.execution.local.common.Message;
import org.eclipse.tptp.platform.agentcontroller.internal.ProcessingModule;
import org.eclipse.tptp.platform.agentcontroller.internal.TrafficController;
@@ -45,6 +46,7 @@
// Used for handling IAC stop request
private boolean _isRunning = false;
+ private boolean toFile;
public HyadesProcessingModuleImpl() {
}
@@ -65,7 +67,23 @@
* Bytes received from the traffic controller
*/
public void incommingBytes(ConnectionInfo cxInfo, byte[] bytes) {
+ if(CommunicationDebug.INSTANCE.debugMessageValue )
+ {
+ if(toFile)
+ {
+ CommunicationDebug.INSTANCE.writeBinaryLog("directConnection"+this.hashCode(),bytes,0,bytes.length);
+ return;
+ }
+ else if(!Thread.currentThread().getName().endsWith("ster"))
+ {
+ toFile=true;
+ CommunicationDebug.INSTANCE.writeBinaryLog("directConnection"+this.hashCode(),bytes,0,bytes.length);
+ return;
+ }
+ }
+
_byteProcessor.incommingBytes(cxInfo, bytes);
+
}
/**
Same as the bug opened by Valentina. *** This bug has been marked as a duplicate of 116692 *** As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since this originator of this enhancement/defect has an inactive Bugzilla account and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open. |