Page MenuHomePhabricator

Memory Issue with Eo Legacy Widget Implementation.
Open, Incoming QueuePublic

Description

Memory Profile Snapshot :

Issue:

 The current way of Eo legacy widget implementation is memory inefficient (As we derive the corresponding eo widget button/check etc) and then override few functions .
 Because of the way we generate Eo Function tables we end of copying the base class table again. Am not saying the current implementation is wrong (this is the way it should be in any object oriented system but not in Eo as we have all the functions virtual by default).

If you see the attached Vtune memory usage log 
for  efl_ui_button_class we create 15 function table (7KB)
for efl_ui_button_legacy_class we create 20 function table (10KB).

So in total we are using **17KB **of heap memory to setup the virtual table of elm_button class.

Same issue with , checkbox, enty , frame , bg and win widget.

If some widgets don't have any special api , then just aliasing those class name to the efl_ui_widget counter part will save the memory.

Hope I explained the issue enough . If you still have some doubt feel free to ask.

smohanty created this task.Aug 26 2019, 8:28 PM
smohanty updated the task description. (Show Details)
q66 added a comment.Aug 28 2019, 1:16 AM

Okay, but I'm not sure why you assigned this to me, considering I'm not dealing with widgets.

q66 removed q66 as the assignee of this task.Aug 28 2019, 1:17 AM
q66 added a subscriber: q66.