Ticket T298776
Visible to All Users

How to optimize XPO performance

created 9 years ago

Hi
Analysis of the performance of our method shows that there is a problem in XPO.
From profiling 70% of the time is the method FilterList. In this method most of the time are the methods ToUntypedPredicateand ToBoolLambda. They are called from XPBaseCollection.CreatePredicate and the decompiled code can not see them because they were probably substituted by the compiler inline. XPBaseCollection.CreatePredicate creates a method to filter the list items based on the Criteria, using methods of dynamic compilation, which is a costly operation. The problem is that XPBaseCollection.CreatePredicate called regardless of whether there are collection elements or not. In our use case add simple conditions in the presence of elements in collection before creating a filter vastly accelerate the performance of our methods.

Show previous comments (6)
SK SK
Sergey Kovalev 3 9 years ago

    Hello Uriah,
    Ok, thanks.

    SK SK
    Sergey Kovalev 3 9 years ago

      Uriah,
      We tested your build, so, the result is very good, your method no longer takes time. Thanks!

      DevExpress Support Team 9 years ago

        You are welcome, Sergey!

        Please do not hesitate to contact us again in the future. We are always happy to help you.

        Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

        Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.