diff options
author | Cédric Walter <cedricwalter@apache.org> | 2014-03-31 15:54:52 +0000 |
---|---|---|
committer | Cédric Walter <cedricwalter@apache.org> | 2014-03-31 15:54:52 +0000 |
commit | e684262ca6c2aba6ca58283e81376de7f98debc1 (patch) | |
tree | 44c4e00d4363159f2b20a788ff421f2a86df081d /src/java/org/apache/poi | |
parent | 60801c50172d24f58eca169a22362886f578b651 (diff) | |
download | poi-e684262ca6c2aba6ca58283e81376de7f98debc1.tar.gz poi-e684262ca6c2aba6ca58283e81376de7f98debc1.zip |
performance issue logging calls are expensive because of the objects created when assembling the log messages. Using the check() method of the logging sub-system can prevent object creation
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1583357 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java/org/apache/poi')
-rw-r--r-- | src/java/org/apache/poi/ddf/EscherContainerRecord.java | 4 | ||||
-rw-r--r-- | src/java/org/apache/poi/ddf/EscherMetafileBlip.java | 54 | ||||
-rw-r--r-- | src/java/org/apache/poi/hssf/model/InternalSheet.java | 4 |
3 files changed, 34 insertions, 28 deletions
diff --git a/src/java/org/apache/poi/ddf/EscherContainerRecord.java b/src/java/org/apache/poi/ddf/EscherContainerRecord.java index 860edd8071..8454231cf1 100644 --- a/src/java/org/apache/poi/ddf/EscherContainerRecord.java +++ b/src/java/org/apache/poi/ddf/EscherContainerRecord.java @@ -85,7 +85,9 @@ public final class EscherContainerRecord extends EscherRecord { addChildRecord(child); if (offset >= data.length && bytesRemaining > 0) { _remainingLength = bytesRemaining; - log.log(POILogger.WARN, "Not enough Escher data: " + bytesRemaining + " bytes remaining but no space left"); + if (log.check(POILogger.WARN)) { + log.log(POILogger.WARN, "Not enough Escher data: " + bytesRemaining + " bytes remaining but no space left"); + } } } return bytesWritten; diff --git a/src/java/org/apache/poi/ddf/EscherMetafileBlip.java b/src/java/org/apache/poi/ddf/EscherMetafileBlip.java index 428d11e4e9..f1444b9843 100644 --- a/src/java/org/apache/poi/ddf/EscherMetafileBlip.java +++ b/src/java/org/apache/poi/ddf/EscherMetafileBlip.java @@ -254,31 +254,31 @@ public final class EscherMetafileBlip extends EscherBlipRecord { " Filter: " + HexDump.toHex( field_7_fFilter ) + '\n' + " Extra Data:" + '\n' + extraData + (remainingData == null ? null : ("\n" + - " Remaining Data: " + HexDump.toHex(remainingData, 32)));
- }
-
- @Override
- public String toXml(String tab) {
- String extraData = "";
- StringBuilder builder = new StringBuilder();
- builder.append(tab).append(formatXmlRecordHeader(getClass().getSimpleName(), HexDump.toHex(getRecordId()), HexDump.toHex(getVersion()), HexDump.toHex(getInstance())))
- .append(tab).append("\t").append("<UID>0x").append(HexDump.toHex( field_1_UID ) + '\n' +
- (field_2_UID == null ? "" : (" UID2: 0x" + HexDump.toHex( field_2_UID ) + '\n'))).append("</UID>\n")
- .append(tab).append("\t").append("<UncompressedSize>0x").append(HexDump.toHex( field_2_cb )).append("</UncompressedSize>\n")
- .append(tab).append("\t").append("<Bounds>").append(getBounds()).append("</Bounds>\n")
- .append(tab).append("\t").append("<SizeInEMU>").append(getSizeEMU()).append("</SizeInEMU>\n")
- .append(tab).append("\t").append("<CompressedSize>0x").append(HexDump.toHex( field_5_cbSave )).append("</CompressedSize>\n")
- .append(tab).append("\t").append("<Compression>0x").append(HexDump.toHex( field_6_fCompression )).append("</Compression>\n")
- .append(tab).append("\t").append("<Filter>0x").append(HexDump.toHex( field_7_fFilter )).append("</Filter>\n")
- .append(tab).append("\t").append("<ExtraData>").append(extraData).append("</ExtraData>\n")
- .append(tab).append("\t").append("<RemainingData>0x").append(HexDump.toHex(remainingData, 32)).append("</RemainingData>\n");
- builder.append(tab).append("</").append(getClass().getSimpleName()).append(">\n");
- return builder.toString();
- }
-
- /**
- * Return the blip signature
- *
+ " Remaining Data: " + HexDump.toHex(remainingData, 32))); + } + + @Override + public String toXml(String tab) { + String extraData = ""; + StringBuilder builder = new StringBuilder(); + builder.append(tab).append(formatXmlRecordHeader(getClass().getSimpleName(), HexDump.toHex(getRecordId()), HexDump.toHex(getVersion()), HexDump.toHex(getInstance()))) + .append(tab).append("\t").append("<UID>0x").append(HexDump.toHex( field_1_UID ) + '\n' + + (field_2_UID == null ? "" : (" UID2: 0x" + HexDump.toHex( field_2_UID ) + '\n'))).append("</UID>\n") + .append(tab).append("\t").append("<UncompressedSize>0x").append(HexDump.toHex( field_2_cb )).append("</UncompressedSize>\n") + .append(tab).append("\t").append("<Bounds>").append(getBounds()).append("</Bounds>\n") + .append(tab).append("\t").append("<SizeInEMU>").append(getSizeEMU()).append("</SizeInEMU>\n") + .append(tab).append("\t").append("<CompressedSize>0x").append(HexDump.toHex( field_5_cbSave )).append("</CompressedSize>\n") + .append(tab).append("\t").append("<Compression>0x").append(HexDump.toHex( field_6_fCompression )).append("</Compression>\n") + .append(tab).append("\t").append("<Filter>0x").append(HexDump.toHex( field_7_fFilter )).append("</Filter>\n") + .append(tab).append("\t").append("<ExtraData>").append(extraData).append("</ExtraData>\n") + .append(tab).append("\t").append("<RemainingData>0x").append(HexDump.toHex(remainingData, 32)).append("</RemainingData>\n"); + builder.append(tab).append("</").append(getClass().getSimpleName()).append(">\n"); + return builder.toString(); + } + + /** + * Return the blip signature + * * @return the blip signature */ public short getSignature() { @@ -287,7 +287,9 @@ public final class EscherMetafileBlip extends EscherBlipRecord { case RECORD_ID_WMF: return HSSFPictureData.MSOBI_WMF; case RECORD_ID_PICT: return HSSFPictureData.MSOBI_PICT; } - log.log(POILogger.WARN, "Unknown metafile: " + getRecordId()); + if (log.check(POILogger.WARN)) { + log.log(POILogger.WARN, "Unknown metafile: " + getRecordId()); + } return 0; } diff --git a/src/java/org/apache/poi/hssf/model/InternalSheet.java b/src/java/org/apache/poi/hssf/model/InternalSheet.java index ade41fdb59..277fdbd723 100644 --- a/src/java/org/apache/poi/hssf/model/InternalSheet.java +++ b/src/java/org/apache/poi/hssf/model/InternalSheet.java @@ -292,7 +292,9 @@ public final class InternalSheet { // Not clear which application wrote these files. rra = new RowRecordsAggregate(); } else { - log.log(POILogger.WARN, "DIMENSION record not found even though row/cells present"); + if (log.check(POILogger.WARN)) { + log.log(POILogger.WARN, "DIMENSION record not found even though row/cells present"); + } // Not sure if any tools write files like this, but Excel reads them OK } dimsloc = findFirstRecordLocBySid(WindowTwoRecord.sid); |