POI Optimization - Speeding up org.apache.poi.hssf.record.BlankRecord.compareTo()
This optimization is nearly identical to the one applied to HSSFRow.compareTo()
- just used a local copy
of the row and column values. This change reduced exceution time in my test case by 17.5 seconds.
/** * switched to using a local copy of the row and column. Also moved the equality test to * the last test because it is most complex and probably least likely to be true. */ public int compareTo(Object obj) { int rv = -1; CellValueRecordInterface loc = (CellValueRecordInterface) obj; int thisRow = this.getRow(); int locRow = loc.getRow(); if (thisRow < locRow) { rv = -1; } else if (thisRow > locRow) { rv = 1; } else { int thisColumn = this.getColumn(); int locColumn = loc.getColumn(); if (thisColumn > locColumn) { rv = 1; } else if (thisColumn < locColumn) { rv = -1; } else if ((thisRow == locRow) && (thisColumn == locColumn)) { rv = 0; } } return rv; }