Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    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 16:17 Go to next message
Dana  is currently offline Dana Friend
Messages: 2
Registered: August 2010
Junior Member
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 16:50 Go to previous messageGo to next message
Benjamin Muskalla is currently offline Benjamin MuskallaFriend
Messages: 338
Registered: July 2009
Senior Member
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 07:28 Go to previous messageGo to next message
Matthew Hall is currently offline Matthew HallFriend
Messages: 368
Registered: July 2009
Senior Member
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 14:40 Go to previous message
Dana  is currently offline Dana Friend
Messages: 2
Registered: August 2010
Junior Member
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: Tue Mar 05 11:19:02 GMT 2024

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

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

Back to the top