* IUP List Versus Tree Performance

For users to report plugin bugs and request plugin enhancements; and for authors to test new/new versions of plugins, and to discuss plugin development (in the Programming Technicalities sub-forum). If you want advice on choosing or using a plugin, please ask in General Usage or an appropriate sub-forum.
Post Reply
User avatar
tatewise
Megastar
Posts: 27080
Joined: 25 May 2010 11:00
Family Historian: V7
Location: Torbay, Devon, UK
Contact:

IUP List Versus Tree Performance

Post by tatewise » 23 Jan 2012 00:38

In developing my Plugin I have discovered the performance difference between the iup.list and iup.tree controls is remarkable.

iup.list provides a basic drop-down list similar to a menubar item.
On my Windows 7 PC these lists are populated at roughly 1,000 items per second.
If the list has a tool tip defined, then it is about 4 times slower.
With large lists this becomes intolerably slow.
The autoredraw option Set to NO to add many items to the list makes no difference.

iup.tree provides a hierarchical tree similar to a Windows Explorer navigation pane.
Even though the tree structure is more complex, these are populated at roughly 50,000 items per second.
Whether it has a tool tip or not makes no difference.
Also autoredraw has little effect.

Is there anywhere this can be reported to get an improvement or an explanation?

ID:5850
Mike Tate ~ researching the Tate and Scott family history ~ tatewise ancestry

User avatar
Jane
Site Admin
Posts: 8441
Joined: 01 Nov 2002 15:00
Family Historian: V7
Location: Somerset, England
Contact:

IUP List Versus Tree Performance

Post by Jane » 23 Jan 2012 07:51

The 'IUP discussion list' is your best bet, Antonio is pretty good at checking in to these things.

http://sourceforge.net/projects/iup/
Jane
My Family History : My Photography "Knowledge is knowing that a tomato is a fruit. Wisdom is not putting it in a fruit salad."

User avatar
tatewise
Megastar
Posts: 27080
Joined: 25 May 2010 11:00
Family Historian: V7
Location: Torbay, Devon, UK
Contact:

IUP List Versus Tree Performance

Post by tatewise » 26 Jan 2012 09:32

This is Antonio's reply to my E-mail:
 Hi Mike,

 Thanks for reporting this.

 IupList is not used very often for large lists. But looking carefully at the code I found a possible source for your problem.

 I uploaded a new iup DLL at:

http://www.tecgraf.puc-rio.br/~scuri/tmp/

 Please let me know if this helps. I suggest using “appenditem”.

 Regarding to the TIPS attribute I have no idea why it makes it slower. The tips management is completely independent from the IupList.

Best Regards,
Antonio Scuri
I have a workaround for the TIP attribute.

Is there anything that can be done regarding his new iup DLL ?
e.g.
Can I simply preserve the existing C:Program Files (x86)Family Historian 5.0 BetaProgramiup.dll and replace it with his new iup.dll, then after testing it, restore the original?
Mike Tate ~ researching the Tate and Scott family history ~ tatewise ancestry

User avatar
Jane
Site Admin
Posts: 8441
Joined: 01 Nov 2002 15:00
Family Historian: V7
Location: Somerset, England
Contact:

IUP List Versus Tree Performance

Post by Jane » 28 Jan 2012 18:09

Yes that should work fine (unless he has a newer version off IUP all round, but I would do a reboot when you swap them, I know the DLLs should be cleared when FH ends, but just to be safe.
Jane
My Family History : My Photography "Knowledge is knowing that a tomato is a fruit. Wisdom is not putting it in a fruit salad."

User avatar
tatewise
Megastar
Posts: 27080
Joined: 25 May 2010 11:00
Family Historian: V7
Location: Torbay, Devon, UK
Contact:

IUP List Versus Tree Performance

Post by tatewise » 30 Jan 2012 11:55

Unfortunately, simply substituting the iup.dll did not work.
As soon as a Plugin is run then FH stops working.

I note that the FH iup.dll is 486 KB whereas Antonio's iup.dll is only 436 KB.

It is no longer urgent because the tree list is a better option than the dropdown list for my Map Life Facts Plugin.
Mike Tate ~ researching the Tate and Scott family history ~ tatewise ancestry

Post Reply