path: root/src/benchmarks (follow)
AgeCommit message (Collapse)Author
2020-01-31Fix build with gcc 10 (which has -fno-common enabled by default).Tom Callaway
EFL failed to build from source in Fedora Rawhide as a result of the update to GCC 10. GCC 10 enables -fno-common by default, and this found three issues in EFL: # The eina benchmark code defined int key_size in a header that was included in multiple places. # The elementary test code defines the "dt1", "dt2", "dt3" vars in two code files which are compiled together (but these variables do not appear to be used globally) # The eio test code defines the "ee" var in two code files which are compiled together (but this variable does not appear to be used globally) I've fixed these issues and confirmed locally that the code builds again in Fedora. Reviewed-by: Marcel Hollerbach <> Differential Revision:
2019-12-18benchmarks: increase timeout value for running elementary benchmarksStefan Schmidt
Default is 30s and I run into timeouts all the time. Increasing it to 60s for the elementary benchmarks. On my local machine its around 45s for the slower one. Signed-off-by: Stefan Schmidt <> Reviewed-by: Marcel Hollerbach <> Differential Revision:
2019-10-18benchmarks/eina: fix possible div by zero in ecore_hashMike Blumenkrantz
Summary: CID 1400768 Reviewers: devilhorns Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-09-30benchmark/collection: add Elementary.hMike Blumenkrantz
this uses legacy api Reviewed-by: Marcel Hollerbach <> Differential Revision:
2019-09-24efl_ui_win: default the window type to basicMarcel Hollerbach
normally when you create a window, you just want to have it beeing a basic window. If not you still can set the window type. ref T8229 Reviewed-by: Mike Blumenkrantz <> Differential Revision: allow to disable tiff evas loaderBoris Faure
Summary: @fix eina benchmarks: ssize_t is defined in <sys/types.h> Reviewers: #reviewers, bu5hm4n, zmike, stefan_schmidt Reviewed By: zmike Subscribers: vtorri, cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-09-03eina benchmarks: remove dereference of nullShinwoo Kim
Summary: A static analysis tool detects return value of malloc could be NULL and its following lines could have derefernece of NULL case. Reviewers: bu5hm4n, zmike, Hermet Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-08-22elementary: remove an unused variable.Hermet Park
2019-08-21replace item_container benchmarkMarcel Hollerbach
the new one has the correct name, can test grid and list, has a changable amount of items. Additionally, it prints the pid on startup, which is usefull for perf related debugging. Reviewed-by: Cedric BAIL <> Differential Revision:
2019-07-28Evil: remove pwd code in Evil and fix compilation failures after the removalVincent Torri
Summary: remove pwd code in Evil Test Plan: compilation Reviewers: zmike, cedric, raster Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-07-25rename efl_ui_item_container -> efl_ui_collectionMarcel Hollerbach
this is the first rename of the main widget, the renames of the test suites will follow Reviewed-by: Cedric BAIL <> Differential Revision:
2019-07-24elementary: make Efl.Ui.Position_Manager a namespace.Cedric BAIL
This does the following rename as per T8058: Efl.Ui.Item_Position_Manager -> Efl.Ui.Position_Manager.Entity Efl.Ui.Grid_Position_Manager -> Efl.Ui.Position_Manager.Grid Efl.Ui.List_Position_Manager -> Efl.Ui.Position_Manager.List Reviewed-by: Marcel Hollerbach <> Differential Revision:
2019-07-24Introduce Efl.Ui.Item_ContainerMarcel Hollerbach
this is a new widget which aims to replace Efl.Ui.Grid / Efl.Ui.List. The widget is split up in a widget and a interface for item placement. Efl_Ui_Item_Position_Manager: The interface contains API which is used by the Item_Container to place the items, there is also a set of common tests which tests for the casual tripping wires, and ensures that the events are emitted in the correct moments (the later part still can be improved) Efl_Ui_Item_Container: The widget itself, it contains the API for the enduser to add Items to the widget, it handles the different modes for selection type and emits the events for selection changes. The pack API is conform with the spec unit test. An additional set of tests is defined which should be able to be run on every widget with a specific position_manager beeing set. Reviewed-by: Mike Blumenkrantz <> Reviewed-by: Cedric BAIL <> Differential Revision:
2019-06-18autotools: REMOVAL!Marcel Hollerbach
Get your seatbelt fastend! It is happening! AUTOTOOLS IS GONE NOW! All praise to meson! This time the final version, ci has been adjusted, and now does not try anymore to build a removed buildsystem. However, the scripts in there need cleaning up. Differential Revision:
2019-06-18Revert "autotools: REMOVAL!"Marcel Hollerbach
This reverts commit e8c69667b01e2795c1e4ead0536652f935ffa674. git push on a wrong branch, sorry. This will land today, but not now.
2019-06-18autotools: REMOVAL!Marcel Hollerbach
Get your seatbelt fastend! It is happening! AUTOTOOLS IS GONE NOW! All praise to meson! Differential Revision:
2019-05-29eo: add events to track the ownership status of an Eo objectVitor Sousa
Some user code may want to track an object ownership in regard to whether it is kept by just one owner or shared between many owners. This is specially true for code provided by bindings to other programming languages, where different kinds of resource management may take place. The event `ownership,unique` is triggered whenever the object refcount goes from two to one, as a signal that it has just one owner from now on. The event `ownership,shared` is triggered whenever the object refcount goes from one to two, as a signal that it has multiple owners from now on. It will not trigger when further increasing the refcount to any value beyond two. We also add benchmarks for sharing (i.e. increasing the refcount) and them unsharing objects, in order to evaluate the performance impact of this patch. Reviewed-by: Cedric BAIL <> Differential Revision:
2019-05-22benchmarks: Fix copy-paste errorChristopher Michael
Coverity reports this as a copy-paste error, and checking the code it certainly looks that way, so lets call the proper hash function here Fixes CID1401052 @fix
2019-05-15meson: enforce 61s timeout for tests, remove explicit timeouts from build filesMike Blumenkrantz
unit tests automatically abort with info after 60s, and tests should be run with an appropriate timeout to avoid conflict with the test runner's default 30s timeout set explicit timeout in eio test for now because there's still frequent bugs here Reviewed-by: Marcel Hollerbach <> Differential Revision:
2019-05-02eina_bench_stringshare: Fix resourcce leakChristopher Michael
Summary: Coverity reports that we leak the return from eina_counter_dump here, so store the result, print it out, then we can free it. Fixes CID1400975 @fix Depends on D8767 Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi Reviewed By: segfaultxavi Subscribers: segfaultxavi, #reviewers, #committers Tags: #efl Differential Revision:
2019-03-27eina benchmark: fix warnings on Windows 64 bitsVincent Torri
Summary: long is always a 32 bits type on Windows Test Plan: compilation Reviewers: raster, zmike, cedric Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-02-13eo: remove class functions from eoMarcel Hollerbach
As in the previous commit explained, we want to get rid of class functions in eo, and make them just c functions right away. This commit removes the class parameter from the eo_class_function_set call, and adjusts the tests to not depend on class functions anymore. Class functions are now not tested anymore, tests that used them as a way to test *things* are adjusted to test them now with object functions, tests that just tested the working of class functions are dropped. This fixes T7675. Reviewed-by: Cedric BAIL <> Differential Revision:
2019-02-07eo: change API call of efl_class_functions_setMarcel Hollerbach
The next commit will bring support for something like reflection. This commit prepares the whole tree for getting another argument in efl_class_functions_set. ref T7681 Differential Revision:
2018-12-17meson: Enable dev flags for cppLauro Moura
Had to add a pragma around CityHash64 to make it work with -f-visibility=hidden Reviewed-by: Marcel Hollerbach <> Differential Revision:
2018-12-04benchmarks - focus tree - fix unused param warnCarsten Haitzler (Rasterman)
2018-12-03elementary: add a benchmark for focus widget tree interationMarcel Hollerbach
The benchmark checks how long it takes to move focus through a few nested scrollers. Differential Revision:
2018-12-03meson: fix running of benchmarkMarcel Hollerbach
Differential Revision:
2018-11-09evas mempool bench - fix warning about unused paramCarsten Haitzler (Rasterman)
unused in some ifdefs - so make as unused.
2018-11-09evas list benchmarks - fix warning about if guardingCarsten Haitzler (Rasterman)
2018-11-09eina bench array - fix warning about if case not guardingCarsten Haitzler (Rasterman)
fix warning noise... no change in code function though.
2018-11-09eina bech - hash - warn - fix type for hash func to have proper typesCarsten Haitzler (Rasterman)
wrap cityhash with proepr typed hash gen func. fix warning
2018-10-02here comes mesonMarcel Hollerbach
a new shiny buildtool that currently completes in the total of ~ 4 min.. 1 min. conf time 2:30 min. build time Where autotools takes: 1:50 min. conf time 3:40 min. build time. meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read. Further informations can be gathered from the README.meson Right now, bindings & windows support are missing. It is highly recommented to use meson 0.48 due to optimizations in meson that reduced the time the meson call would need. Co-authored-by: Mike Blumenkrantz <> Differential Revision: Depends on D7011
2018-03-20efl: use efl_add_ref to create objects which have no parentCedric BAIL
Signed-off-by: Mike Blumenkrantz <>
2018-01-18all: Simplify definition of EAPIVincent Torri
This will help in the transition from Autotools to Meson. This has been tested on Windows for which EFL_XXX_BUILD were first introduced.
2018-01-02benchmarks: eine: include header for using time()Stefan Schmidt
../src/benchmarks/eina/eina_bench_sort.c: In function ‘eina_bench_sort_eina’: ../src/benchmarks/eina/eina_bench_sort.c:52:10: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration] srand(time(NULL)); Found due to the nice quite build output in our meson feature branch.
2017-08-15eina: remove tests and benchmark for long dead mempool.Cedric BAIL
2016-11-07eina: remove benchmark for Eina_Promise.Cedric BAIL
2016-09-09Eo: Change the way functions are registered to classesTom Hacohen
This change lets us remove a field from the structure that leads to around 20KiB more of saving in private dirty pages in elementary. This also looks a bit better and feels a bit cleaner. Breaks API and ABI.
2016-09-08Eo: Make function overrides implicit.Tom Hacohen
Before this commit, function overrides were explicit. That is, you'd have to explicitly state you were overriding a function instead of creating a new one. This made the code a tad more complex, and was also a bit more annoying to use. This commit removes this extra piece of information. This means we now store much less information per function, that will let us further optimise out structures in the future.
2016-09-06Eo benchmarks: Fix according to recent Eo changes.Tom Hacohen
Thanks to Stefan for the report.
2016-08-30efl callbacks: update some events calls to no longer trigger legacy callbacksdevs/vitorsousa/update_event_callsVitor Sousa
2016-08-30Efl object: Rename Eo_Event -> Efl_Event.Tom Hacohen
This is the last step of the Eo renaming efforts.
2016-08-26Efl Object: remove legacy callback calls from event_callback_callVitor Sousa
Efl.Object.event_callback_call no longer calls legacy smart callbacks; calling only event callbacks registered with the given event description pointer. Create the method Efl.Object.event_callback_legacy_call to inherit the old behavior from Efl.Object.event_callback_call, calling both Efl.Object events and legacy smart callbacks. Update all other files accordingly in order to still supply legacy callbacks while they are necessary.
2016-08-23Efl object: Don't pass events to eo class creation.Tom Hacohen
This was never used and there is no plan to ever use it. I'm going to soon add a different mechanism with which it will be possible to provide them again to Eo if ever needed without breaking ABI. Though it's unlikely it will ever be.
2016-08-15Eo: Finish the renaming of Eo to the EFL.Tom Hacohen
This renames all the rest of the API to the EFL namespace except for Eo_Event that will follow soon. Obviously breaks both API and ABI.
2016-08-11Change the EFL to follow the new Eo rename.Tom Hacohen
2016-06-20Adjust the code according to the eo event stop changes.Tom Hacohen
This was changed in the previous commit.
2016-06-13benchmark: eo: add missing phthread flag to linkerStefan Schmidt
/usr/bin/ld: class_simple.o: undefined reference to symbol 'pthread_spin_trylock@@GLIBC_2.2.5' //lib/x86_64-linux-gnu/ error adding symbols: DSO missing from command line
2016-06-09eina: Remove value type promisesLauro Moura
All values in promises are now considered as by-pointer.
2016-06-06benchmark: remove unused variableStefan Schmidt
Looks like this was forgotten during some re-factoring of the code.