Product Documentation

c-treeACE V10.0 Release Notes

Previous Topic

Next Topic

Reduced c-treeACE SQL ADO.NET Buffer Allocations Avoid .NET LOH

The previous c-treeACE SQL ADO.NET Provider default buffer allocation placed many objects into the .NET LOH (Large Object Heap). Microsoft Windows XP 32-bit and previous OS versions have a bug that prevents the LOH from being de-fragmented and can cause memory problems.

The default provider buffer allocations have been reduced to keep the object size below the 85KB limit (that caused objects to be placed in LOH) resulting in better usage of the .NET SOH (Small Objects Heap).

Important Considerations

  • The modified allocations only reduce default object allocations. If a large number of rows is fetched or even few rows with large LVB or LVC columns, these objects will continue to be allocated in LOH due to .NET memory handling.
  • According to information from Microsoft, the LOH de-fragmenting problem is a bug on older Windows versions. This has been corrected from Windows XP 64-bit onward. Should memory problems or concerns continue, it is suggested to upgrade to a current version of Windows.

TOCIndex