* Replaced most CSJ2K Array.Copy() calls with the faster Buffer.BlockCopy() for a ~17% speedup (LIBOMV-861)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3411 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
John Hurliman
2010-08-05 19:18:24 +00:00
parent 77e55fa488
commit 03901afe1e
19 changed files with 47 additions and 47 deletions

View File

@@ -103,12 +103,12 @@ namespace CSJ2K.j2k.util
for (; i <= len2; i <<= 1)
{
// Copy values doubling size each time
Array.Copy(arr, 0, arr, i, i);
Buffer.BlockCopy(arr, 0, arr, i, i);
}
if (i < len)
{
// Copy values to end
Array.Copy(arr, 0, arr, i, len - i);
Buffer.BlockCopy(arr, 0, arr, i, len - i);
}
}
}
@@ -155,12 +155,12 @@ namespace CSJ2K.j2k.util
for (; i <= len2; i <<= 1)
{
// Copy values doubling size each time
Array.Copy(arr, 0, arr, i, i);
Buffer.BlockCopy(arr, 0, arr, i, i);
}
if (i < len)
{
// Copy values to end
Array.Copy(arr, 0, arr, i, len - i);
Buffer.BlockCopy(arr, 0, arr, i, len - i);
}
}
}