XPO - New Server Mode components with lower memory consumption and improved load, sort, group and filter performance (v19.1)

XPO Team Blog
28 May 2019
Our new read-only server mode components – XPServerModeView and XPInstantFeedbackView – represent mixtures of XPServerCollectionSource/XPInstantFeedbackSource and XPView for use with DevExpress Grid controls. These read-only components offer the following benefits for those using XPO:
  • Ability to handle large data sources with lower memory usage (will not load entire persistent object instance).
  • Ability to customize SELECT statements and exclude unused data columns.
  • Ability to include reference property data in the root query to avoid the 1+N problem.
  • Ability to include custom (virtual) properties that are calculated on the server side (similar to ViewProperty).

Why these hybrid components are more efficient than XPServerCollectionSource and XPInstantFeedbackSource

The design of these hybrid server components delivers improved performance when compared to our existing XPO server mode components. The following screenshot compares load, sort and filter operations and allocated memory use for XPServerCollectionSource and XPServerModelView.

We used BenchmarkDotNet in a test sample with 10K master objects. Each record consists of 5 scalar and 20 reference type properties (the reference type contained 5 scalar properties). I'd be more than happy to publish our test project should anyone wish to run their own tests.

Getting Started – How to use our new hybrid server components

If you're ready to try these new components, please refer to our existing WinForms and WPF code examples. XPServerModeView and XPInstantFeedbackView work just like XPServerCollectionSource/XPInstantFeedbackSource and XPView.

Current state and future plans

These server components are currently available as a CTP (v19.1). Documentation is incomplete and there are a few known issues. By the time we release v19.2, we expect to improve the design time experience (such as adding WinForms and WPF project wizards), support WinForms and WPF lookup editors, and complete documentation. We also hope to support these new components within XAF.
As always, we'd love to hear your thoughts. Please feel free to share you experience and let us know if you encounter issues.

Updated performance benchmarks against Entity Framework

We recently updated our https://github.com/DevExpress/XPO/tree/master/Benchmarks repro based on test executed against the latest version of EF Core 3.0 and XPO v19.1. I hope you find this information of value.

Your feedback matters!

We appreciate any thoughts you post to the comments section below and your answers to the question in the survey below. Thank you very much for your help!

Love XPO and want to help us promote it? Add the package through Nuget.org instead of DevExpress Nuget!

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.
No Comments

Please login or register to post comments.