add performance improvement fixes
This commit is contained in:
parent
19065cdbb7
commit
6b9e3c0e70
|
@ -24,8 +24,8 @@
|
||||||
</compilerArguments>
|
</compilerArguments>
|
||||||
<!-- set verbose to be true if you want lots of uninteresting messages -->
|
<!-- set verbose to be true if you want lots of uninteresting messages -->
|
||||||
<!-- <verbose>true</verbose> -->
|
<!-- <verbose>true</verbose> -->
|
||||||
<source>1.7</source>
|
<source>1.8</source>
|
||||||
<target>1.7</target>
|
<target>1.8</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
@ -83,7 +83,7 @@ public class TextDbLoader implements IWaveformDbLoader{
|
||||||
.make()
|
.make()
|
||||||
// NPE here --->
|
// NPE here --->
|
||||||
parseInput(gzipped?new GZIPInputStream(new FileInputStream(file)):new FileInputStream(file))
|
parseInput(gzipped?new GZIPInputStream(new FileInputStream(file)):new FileInputStream(file))
|
||||||
calculateConcurrencyIndicees()
|
streams.each{ TxStream stream -> stream.getMaxConcurrency() }
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
} catch (IndexOutOfBoundsException e) {
|
} catch (IndexOutOfBoundsException e) {
|
||||||
|
@ -136,7 +136,7 @@ public class TextDbLoader implements IWaveformDbLoader{
|
||||||
case "ms":return 1000000000000L
|
case "ms":return 1000000000000L
|
||||||
case "s": return 1000000000000000L
|
case "s": return 1000000000000000L
|
||||||
}
|
}
|
||||||
return "fs"
|
return 1L
|
||||||
}
|
}
|
||||||
|
|
||||||
private def parseInput(InputStream inputStream){
|
private def parseInput(InputStream inputStream){
|
||||||
|
@ -153,23 +153,29 @@ public class TextDbLoader implements IWaveformDbLoader{
|
||||||
def tokens = line.split(/\s+/) as ArrayList
|
def tokens = line.split(/\s+/) as ArrayList
|
||||||
switch(tokens[0]){
|
switch(tokens[0]){
|
||||||
case "scv_tr_stream":
|
case "scv_tr_stream":
|
||||||
case "scv_tr_generator":
|
|
||||||
case "begin_attribute":
|
|
||||||
case "end_attribute":
|
|
||||||
if ((matcher = line =~ /^scv_tr_stream\s+\(ID (\d+),\s+name\s+"([^"]+)",\s+kind\s+"([^"]+)"\)$/)) {
|
if ((matcher = line =~ /^scv_tr_stream\s+\(ID (\d+),\s+name\s+"([^"]+)",\s+kind\s+"([^"]+)"\)$/)) {
|
||||||
def id = Integer.parseInt(matcher[0][1])
|
def id = Integer.parseInt(matcher[0][1])
|
||||||
def stream = new TxStream(this, id, matcher[0][2], matcher[0][3])
|
def stream = new TxStream(this, id, matcher[0][2], matcher[0][3])
|
||||||
streams<<stream
|
streams<<stream
|
||||||
streamsById[id]=stream
|
streamsById[id]=stream
|
||||||
} else if ((matcher = line =~ /^scv_tr_generator\s+\(ID\s+(\d+),\s+name\s+"([^"]+)",\s+scv_tr_stream\s+(\d+),$/)) {
|
}
|
||||||
|
break;
|
||||||
|
case "scv_tr_generator":
|
||||||
|
if ((matcher = line =~ /^scv_tr_generator\s+\(ID\s+(\d+),\s+name\s+"([^"]+)",\s+scv_tr_stream\s+(\d+),$/)) {
|
||||||
def id = Integer.parseInt(matcher[0][1])
|
def id = Integer.parseInt(matcher[0][1])
|
||||||
ITxStream stream=streamsById[Integer.parseInt(matcher[0][3])]
|
ITxStream stream=streamsById[Integer.parseInt(matcher[0][3])]
|
||||||
generator=new TxGenerator(id, stream, matcher[0][2])
|
generator=new TxGenerator(id, stream, matcher[0][2])
|
||||||
stream.generators<<generator
|
stream.generators<<generator
|
||||||
generatorsById[id]=generator
|
generatorsById[id]=generator
|
||||||
} else if ((matcher = line =~ /^begin_attribute \(ID (\d+), name "([^"]+)", type "([^"]+)"\)$/)) {
|
}
|
||||||
|
break;
|
||||||
|
case "begin_attribute":
|
||||||
|
if ((matcher = line =~ /^begin_attribute \(ID (\d+), name "([^"]+)", type "([^"]+)"\)$/)) {
|
||||||
generator.begin_attrs << TxAttributeType.getAttrType(matcher[0][2], DataType.valueOf(matcher[0][3]), AssociationType.BEGIN)
|
generator.begin_attrs << TxAttributeType.getAttrType(matcher[0][2], DataType.valueOf(matcher[0][3]), AssociationType.BEGIN)
|
||||||
} else if ((matcher = line =~ /^end_attribute \(ID (\d+), name "([^"]+)", type "([^"]+)"\)$/)) {
|
}
|
||||||
|
break;
|
||||||
|
case "end_attribute":
|
||||||
|
if ((matcher = line =~ /^end_attribute \(ID (\d+), name "([^"]+)", type "([^"]+)"\)$/)) {
|
||||||
generator.end_attrs << TxAttributeType.getAttrType(matcher[0][2], DataType.valueOf(matcher[0][3]), AssociationType.END)
|
generator.end_attrs << TxAttributeType.getAttrType(matcher[0][2], DataType.valueOf(matcher[0][3]), AssociationType.END)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -228,31 +234,6 @@ public class TextDbLoader implements IWaveformDbLoader{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private def toDataType(String str){
|
|
||||||
switch (str)
|
|
||||||
{
|
|
||||||
case "BOOLEAN": return DataType. BOOLEAN
|
|
||||||
case "ENUMERATION": return DataType. ENUMERATION
|
|
||||||
case "INTEGER": return DataType. INTEGER
|
|
||||||
case "UNSIGNED": return DataType. UNSIGNED
|
|
||||||
case "FLOATING_POINT_NUMBER": return DataType. FLOATING_POINT_NUMBER
|
|
||||||
case "BIT_VECTOR": return DataType. BIT_VECTOR
|
|
||||||
case "LOGIC_VECTOR": return DataType. LOGIC_VECTOR
|
|
||||||
case "FIXED_POINT_INTEGER": return DataType. FIXED_POINT_INTEGER
|
|
||||||
case "UNSIGNED_FIXED_POINT_INTEGER": return DataType. UNSIGNED_FIXED_POINT_INTEGER
|
|
||||||
case "RECORD": return DataType. RECORD
|
|
||||||
case "POINTER": return DataType. POINTER
|
|
||||||
case "ARRAY": return DataType. ARRAY
|
|
||||||
case "STRING": return DataType. STRING
|
|
||||||
default: return DataType.INTEGER
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private def calculateConcurrencyIndicees(){
|
|
||||||
streams.each{ TxStream stream -> stream.getMaxConcurrency() }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public Collection<RelationType> getAllRelationTypes(){
|
public Collection<RelationType> getAllRelationTypes(){
|
||||||
return relationTypes.values();
|
return relationTypes.values();
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,8 +24,8 @@
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<tycho-version>1.5.0</tycho-version>
|
<tycho-version>1.5.0</tycho-version>
|
||||||
<groovy-eclipse-compiler-version>3.5.0</groovy-eclipse-compiler-version>
|
<groovy-eclipse-compiler-version>3.6.0-03</groovy-eclipse-compiler-version>
|
||||||
<groovy-eclipse-batch-version>2.5.8-03</groovy-eclipse-batch-version>
|
<groovy-eclipse-batch-version>3.0.3-01</groovy-eclipse-batch-version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|
Loading…
Reference in New Issue