Skip to main content



      Home
Home » Eclipse Projects » Remote Application Platform (RAP) » DataBindig - performance problems when binding large lists
DataBindig - performance problems when binding large lists [message #552311] Wed, 11 August 2010 12:17 Go to next message
Eclipse UserFriend
Hi all,

I am using databinding to bind <multi-selection in viewer> to <a collection property from a bean>.

-ViewersObservables.observeMultiSelection() to track the current selection of the given viewer

-BeansObservables.observeList() to bind a control to a Collection property on a bean.

In order to synchronize those two lists we are calling the method bindList() from the eclipse API (org.eclipse.core.databinding.DataBinding).

This works fine but we have some performance problems when we are dealing with large lists (around 600 elements in the collection from the bean -> bindList() call takes about 46 seconds).

IObservableList observeMultiSelection = ViewersObservables.observeMultiSelection(selectionProvider);
IObservableList observeValue = BeansObservables.observeList(object, propertyName);
Binding bindValue = getBindingContext().bindList(observeMultiSelection , observeValue , null, null)

Is this a normal behavior?

Thanks in advance,
Re: DataBindig - performance problems when binding large lists [message #552314 is a reply to message #552311] Wed, 11 August 2010 12:50 Go to previous messageGo to next message
Eclipse UserFriend
Dana,

as mentioned, I think this fits much better to the platform.jface
newsgroup (cc'ed the other newsgroup).

Regards,
Ben

Dana wrote:
> Hi all,
>
> I am using databinding to bind <multi-selection in viewer> to <a
> collection property from a bean>.
>
> -ViewersObservables.observeMultiSelection() to track the current
> selection of the given viewer
>
> -BeansObservables.observeList() to bind a control to a Collection
> property on a bean.
>
> In order to synchronize those two lists we are calling the method
> bindList() from the eclipse API (org.eclipse.core.databinding.DataBinding).
>
> This works fine but we have some performance problems when we are
> dealing with large lists (around 600 elements in the collection from the
> bean -> bindList() call takes about 46 seconds).
>
> IObservableList observeMultiSelection =
> ViewersObservables.observeMultiSelection(selectionProvider);
> IObservableList observeValue =
> BeansObservables.observeList(object, propertyName);
> Binding bindValue = getBindingContext().bindList(observeMultiSelection
> , observeValue , null, null)
>
> Is this a normal behavior?
>
> Thanks in advance,
>


--
Benjamin Muskalla | EclipseSource Karlsruhe
Need professional support for RAP and RCP?
Go to: http://eclipsesource.com/support
Twitter : @bmuskalla
Blog : http://eclipsesource.com/blogs/tag/rap/
Re: DataBindig - performance problems when binding large lists [message #552413 is a reply to message #552314] Thu, 12 August 2010 03:28 Go to previous messageGo to next message
Eclipse UserFriend
Holy cow, no that should not be normal behavior. Do you have a
standalone test case we can use to profile that? Does your view element
have a semi-expensive equals() method?

FYI the UpdateListStrategies are optional arguments now so you can leave
them off instead of typing ", null, null" at the end of all your bindings.

If you can post a bug report along with some guidelines to reproduce
that performance behavior, we can take a look at it and see what's going on.

Matthew

On 08/11/2010 10:50 AM, Benjamin Muskalla wrote:
> Dana,
>
> as mentioned, I think this fits much better to the platform.jface
> newsgroup (cc'ed the other newsgroup).
>
> Regards,
> Ben
>
> Dana wrote:
>> Hi all,
>>
>> I am using databinding to bind <multi-selection in viewer> to <a
>> collection property from a bean>.
>>
>> -ViewersObservables.observeMultiSelection() to track the current
>> selection of the given viewer
>>
>> -BeansObservables.observeList() to bind a control to a Collection
>> property on a bean.
>>
>> In order to synchronize those two lists we are calling the method
>> bindList() from the eclipse API
>> (org.eclipse.core.databinding.DataBinding).
>>
>> This works fine but we have some performance problems when we are
>> dealing with large lists (around 600 elements in the collection from
>> the bean -> bindList() call takes about 46 seconds).
>>
>> IObservableList observeMultiSelection =
>> ViewersObservables.observeMultiSelection(selectionProvider);
>> IObservableList observeValue = BeansObservables.observeList(object,
>> propertyName);
>> Binding bindValue = getBindingContext().bindList(observeMultiSelection
>> , observeValue , null, null)
>>
>> Is this a normal behavior?
>>
>> Thanks in advance,
>>
>
>
Re: DataBindig - performance problems when binding large lists [message #554214 is a reply to message #552413] Fri, 20 August 2010 10:40 Go to previous message
Eclipse UserFriend
Hi,

The real problem was the label provider used for displaying the values from the collection.

Thanks
Previous Topic:Printing with Client Printers
Next Topic:Tree widget - SWT.FULL_SELECTION
Goto Forum:
  


Current Time: Sat Jul 12 14:59:27 EDT 2025

Powered by FUDForum. Page generated in 0.23271 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top