private void DeoptimizeTable <T>(MetadataTable <T> table, MetadataPtrTable ptrTable) where T : struct { int count = table.Count; if (count == 0) { return; } ptrTable.Capacity = count; for (int i = 0; i < count; i++) { ptrTable.Add(i + 1); } }
private void OptimizeTable <T>(MetadataTable <T> table, MetadataPtrTable ptrTable) where T : struct { int count = table.Count; if (count == 0) { return; } if (ptrTable.Count == 0) { return; } int[] rids = new int[count]; for (int i = 0; i < count; i++) { rids[i] = ptrTable.Get(i + 1); } table.Map(rids); ptrTable.Clear(); }