Merged DEV/CHECK_EXISTS to HEAD

svn merge svn://www.alfresco.org:3691/alfresco/BRANCHES/DEV/CHECK_EXISTS@3442 svn://www.alfresco.org:3691/alfresco/BRANCHES/DEV/CHECK_EXISTS@3590 .

TODO: Fix bug raising incorrect exception during UI paste of same-named file
Note:
- Added a new method to NodeService to get child by name
- Added a new method to FileFolderService to perform fast, direct lookups based on name


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@3591 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2006-08-23 16:50:12 +00:00
parent 3c9f179571
commit 4e4e342409
39 changed files with 1577 additions and 637 deletions

View File

@@ -22,6 +22,9 @@ import java.io.FileOutputStream;
import java.io.OutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.util.HashSet;
import java.util.Set;
import java.util.zip.CRC32;
import junit.framework.TestCase;
@@ -111,4 +114,30 @@ public class FileIOTest extends TestCase
countRead = channelRead.read(bufferRead);
assertEquals("Expected full read", 26, countRead);
}
public void testCrcPerformance() throws Exception
{
long before = System.nanoTime();
int count = 1000000;
Set<Long> results = new HashSet<Long>(count);
boolean negatives = false;
for (int i = 0; i < count; i++)
{
CRC32 crc = new CRC32();
crc.update(Integer.toString(i).getBytes());
long value = crc.getValue();
if (value < 0)
{
negatives = true;
}
if (!results.add(value))
{
System.out.println("Duplicate on " + i);
}
}
long after = System.nanoTime();
long delta = after - before;
double aveNs = (double)delta / (double)count;
System.out.println(String.format("CRC32: %10.2f ns per item. Negatives=" + negatives, aveNs));
}
}