Tag List Report

The following document contains the listing of user tags found in the code. Below is the summary of the occurences per tag.

TagTotal number of occurences
@todo0
TODO15

Each tag is detailed below:

@todo

Number of occurences found in the code: 0

TODO

Number of occurences found in the code: 15

org.ajmm.obsearch.example.OBVectorExampleLine
this value should be cached.138
org.ajmm.obsearch.index.AbstractExtendedPyramidIndexLine
insert the keys in C in order to increase performance. I read somewhere that Berkeley DB works better if you do so.120
remove this comment? cDB.preload(pc);132
move these parameters to a centralized configuration file.246
move these parameters to a centralized configuration file.260
org.ajmm.obsearch.index.AbstractP2PIndexLine
Improve this so that boxes are only sent when we modify one of our boxes1042
if there is some inconsistency with the string generated by EndpointAddress, this hack won't work1240
This method * should only be invoked when: 1) We just connected with the peer 2) * our data has been modified1561
org.ajmm.obsearch.index.AbstractPPTreeLine
improve the way we represent the data. Instead of having two huge vectors with each of the elements, we could have one byte vector whose elements point to the cluster the element belongs to.567
check this statement:815
org.ajmm.obsearch.index.AbstractPivotIndexLine
Optimization: put these two objects in the class so that they don't have to be created over and over again1024
org.ajmm.obsearch.index.ExtendedPyramidIndexShortLine
select the pyramids randomly just like quicksort245
org.ajmm.obsearch.index.UnsafeNCorePPTreeShortLine
parallelizing this would imply that more distance computations have to be performed. public final void searchBTreeAndUpdate(O object, short[] tuple, short r, float hlow, float hhigh, OBPriorityQueueShort < O > result) throws DatabaseException, IllegalAccessException, InstantiationException, IllegalIdException, OBException { Cursor cursor = null; try { DatabaseEntry keyEntry = new DatabaseEntry(); DatabaseEntry dataEntry = new DatabaseEntry(); cursor = cDB.openCursor(null, null); SortedFloatBinding.floatToEntry(hlow, keyEntry); OperationStatus retVal = cursor.getSearchKeyRange(keyEntry, dataEntry, null); if (retVal == OperationStatus.NOTFOUND) { return; } if (cursor.count() > 0) { float currentPyramidValue = SortedFloatBinding .entryToFloat(keyEntry); short max = Short.MIN_VALUE; Unsafe unsafe = UnsafeArrayHandlerShort.unsafe; long i = 0; long init = UnsafeArrayHandlerInt.size + UnsafeArrayHandlerByte.offset; short t; while (retVal == OperationStatus.SUCCESS && currentPyramidValue <= hhigh) { byte[] in = dataEntry.getData(); // TupleInput in = new TupleInput(dataEntry.getData()); this.smapRecordsCompared++; i = init; max = Short.MIN_VALUE; // STATS for (short b : tuple) { t = (short) Math.abs(b - unsafe.getShort(in, i)); if (t > max) { max = t; if (t > r) { break; // finish this loop this slice won't be // matched // after all! } } i += UnsafeArrayHandlerShort.size; } if (max <= r && result.isCandidate(max)) { // there is a chance it is a possible match int id = intHandler.getint(in, 0); O toCompare = getObject(id); DistanceEvaluation d = new DistanceEvaluation(r, id, toCompare, object, result); while (true) { try { queue.put(d); break; } catch (InterruptedException e) { } } this.distanceComputations++; } // read the next record retVal = cursor.getNext(keyEntry, dataEntry, null); // update the current pyramid value so that we know when // to // stop currentPyramidValue = SortedFloatBinding .entryToFloat(keyEntry); } } } finally { cursor.close(); } }369
org.ajmm.obsearch.index.pptree.AbstractSpaceTreeNodeLine
remove this to save some memory private float [] center;35
org.ajmm.obsearch.index.pptree.SpaceTreeLeafLine
this thing sometimes generates 1.00001 or stuff like that. shall we just force it to be 1?210