efl/src/lib/ecore
Carsten Haitzler 9b294d6284 eina file - stat generation inexactness support
this is a performance optimization. it brings in a "stat generation".
for now it's disabled by default so we retain previous behavior. this
stops eina file from opening and stating a file every time you open
... it only does it if stat generation is off, or, if the generation
changed since the last time it opened that file. this makes cache hits
not have a 3 syscall cost (open+fstat+close). this optimizes that
lower end of things path. but .. it comes at a cost. if the file
changes before generation ticks over (which this forces to tick over
every time the loop exits idle by default).

now here is something to ask.

1. should we have this on by default and accept the "inexactness"
since you can eina_file_statgen_next() before any call that would do
i/o to force it to look at the real file stat info...
2. should we tick over every idle enter OR every N idle enters  or
every frame we render instead? ... i want to avoid getting a timestamp
or having a timer interrupt often... so what should we do?

at least this introduces the idea, some api's and an env var to turn
this on. it definitely cuts down syscalls during things like creation
of widdgets or objects in large batches etc.
2019-07-28 11:51:15 +01:00
..
Ecore.h efl: remove EFL_EO_API_SUPPORT macro 2019-03-18 12:13:59 +01:00
Ecore_Common.h docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
Ecore_Eo.h ecore: remove efl_loop_{un,}register from .eo. 2019-07-17 21:57:58 +02:00
Ecore_Getopt.h Windows : fix the definition of EAPI 2019-04-15 13:34:20 +01:00
Ecore_Legacy.h efl_loop_timer: remove all legacy usage from eo files 2019-03-06 13:02:51 -08:00
Efl_Core.h Efl_Core.h include Efl.h unconditionally 2019-03-12 14:21:58 +01:00
ecore.c bin/efl and ecore: include evil_private.h when appropriate 2019-05-17 11:53:35 +01:00
ecore_alloc.c ecore - begin moving data into the efl loop data in the object 2017-12-15 14:16:53 +09:00
ecore_anim.c bin/efl and ecore: include evil_private.h when appropriate 2019-05-17 11:53:35 +01:00
ecore_app.c bin/efl and ecore: include evil_private.h when appropriate 2019-05-17 11:53:35 +01:00
ecore_event_message.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
ecore_event_message.eo eolian: enable checking of beta/stable contexts in all classes 2019-03-11 13:42:29 +01:00
ecore_event_message_handler.c ecore: also error when trying to add an event handler for a type 0 event 2019-07-10 13:57:38 -04:00
ecore_event_message_handler.eo eolian: enable checking of beta/stable contexts in all classes 2019-03-11 13:42:29 +01:00
ecore_events.c eo: use efl_provider_{un,}register infrastructure instead of Efl_Loop one. 2019-07-17 21:57:57 +02:00
ecore_exe.c ecore_exe: remove all legacy usage from eo files 2019-03-06 13:02:49 -08:00
ecore_exe_eo.c ecore_exe: remove all legacy usage from eo files 2019-03-06 13:02:49 -08:00
ecore_exe_eo.h ecore_exe: remove all legacy usage from eo files 2019-03-06 13:02:49 -08:00
ecore_exe_eo.legacy.h ecore_exe: remove all legacy usage from eo files 2019-03-06 13:02:49 -08:00
ecore_exe_posix.c efl.loop_timer: rename all methods/properties/events 2019-03-08 16:38:46 +01:00
ecore_exe_private.h ecore - begin moving data into the efl loop data in the object 2017-12-15 14:16:53 +09:00
ecore_exe_ps3.c
ecore_exe_win32.c bin/efl and ecore: include evil_private.h when appropriate 2019-05-17 11:53:35 +01:00
ecore_getopt.c
ecore_glib.c ecore/glib: add #ifdef guards for newly added includes 2018-06-22 15:26:44 -04:00
ecore_idle_enterer.c Revert "cxx: Fix manual code after efl_app change." 2018-03-03 13:40:33 +09:00
ecore_idle_exiter.c ecore/efl loop - refactor idle stuff to be less convluted when 2017-12-21 19:45:21 +09:00
ecore_idler.c Revert "cxx: Fix manual code after efl_app change." 2018-03-03 13:40:33 +09:00
ecore_internal.h ecore: efl_model_list_value_get will throw error when asked for out of range value. 2018-05-01 10:39:01 -07:00
ecore_job.c ecore: remove duplicated conditions 2018-10-26 19:25:09 +09:00
ecore_main.c eina file - stat generation inexactness support 2019-07-28 11:51:15 +01:00
ecore_main_common.h ecore - begin moving data into the efl loop data in the object 2017-12-15 14:16:53 +09:00
ecore_main_timechanges.c eocre timechanges - set obj to null before deletion on stop 2018-01-05 02:34:16 +09:00
ecore_pipe.c bin/efl and ecore: include evil_private.h when appropriate 2019-05-17 11:53:35 +01:00
ecore_poller.c ecore: remove duplicated conditions 2018-10-26 19:25:09 +09:00
ecore_private.h ecore: avoid breaking next main loop start if quit occurs outside of loop 2019-07-19 15:04:56 -07:00
ecore_signal.c efl.loop_timer: rename all methods/properties/events 2019-03-08 16:38:46 +01:00
ecore_thread.c bin/efl and ecore: include evil_private.h when appropriate 2019-05-17 11:53:35 +01:00
ecore_throttle.c
ecore_time.c bin/efl and ecore: include evil_private.h when appropriate 2019-05-17 11:53:35 +01:00
ecore_timer.c ecore/timer: fix handling of timer freeze during construction 2019-05-29 12:29:03 -04:00
efl_accelerate_interpolator.c efl_interpolator: rename subclasses of Efl.Interpolator 2018-11-23 21:44:34 +09:00
efl_accelerate_interpolator.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
efl_app.c efl_loop / efl_app: make efl_app / efl_loop abstract 2019-02-21 19:13:39 +01:00
efl_app.eo docs: Add @since 1.22 to all stable classes' EO docs 2019-03-22 16:57:36 +01:00
efl_appthread.c efl_io_*: apply new event calling convention 2019-03-19 16:32:02 -04:00
efl_appthread.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
efl_boolean_model.c ecore: protect efl_model_properties_get from accesing NULL pointer when Model parent is not a Efl.BooleanModel. 2019-04-26 11:32:50 -07:00
efl_boolean_model.eo ecore: add an helper for Efl.Boolean_Model to get all the index with a requested value. 2019-04-22 19:50:18 -07:00
efl_bounce_interpolator.c efl_interpolator: rename subclasses of Efl.Interpolator 2018-11-23 21:44:34 +09:00
efl_bounce_interpolator.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
efl_composite_model.c efl: use eina_streq for all property operation in model to avoid crash on NULL property name. 2019-07-10 21:10:23 +02:00
efl_composite_model.eo ecore: prevent duplication of children for Efl.Composite_Model and enable dummy object. 2019-02-28 11:39:46 -08:00
efl_composite_model_private.h ecore: refactor Efl.CompositeModel to provide child allocation to other internal Model. 2019-05-09 09:33:31 -07:00
efl_container_model.c ecore: remove Efl.Container_Model_Item. 2019-02-28 13:59:50 -08:00
efl_container_model.eo ecore: remove Efl.Container_Model_Item. 2019-02-28 13:59:50 -08:00
efl_core_command_line.c efl_core_command_line: Fix resource leak 2019-04-23 21:08:46 +02:00
efl_core_command_line.eo efl cmdline use simpler stringshare type to not be redundant 2019-02-15 19:52:50 +00:00
efl_core_env.c efl core env - remove unused envrion declaration 2019-03-01 10:08:17 +00:00
efl_core_env.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
efl_core_proc_env.c efl proc/exe envrion work again - after a break earlier on freebsd 2019-06-04 02:23:52 +02:00
efl_core_proc_env.eo eolian: move from eo_prefix to c_prefix 2019-05-09 16:17:44 +02:00
efl_cubic_bezier_interpolator.c efl_interpolator: rename subclasses of Efl.Interpolator 2018-11-23 21:44:34 +09:00
efl_cubic_bezier_interpolator.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
efl_decelerate_interpolator.c efl_interpolator: rename subclasses of Efl.Interpolator 2018-11-23 21:44:34 +09:00
efl_decelerate_interpolator.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
efl_divisor_interpolator.c efl_interpolator: rename subclasses of Efl.Interpolator 2018-11-23 21:44:34 +09:00
efl_divisor_interpolator.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
efl_exe.c efl proc/exe envrion work again - after a break earlier on freebsd 2019-06-04 02:23:52 +02:00
efl_exe.eo docs: Fill last missing docs from EO files 2019-07-08 17:48:57 +02:00
efl_filter_model.c efl: use eina_streq for all property operation in model to avoid crash on NULL property name. 2019-07-10 21:10:23 +02:00
efl_filter_model.eo ecore: add Efl.Filter_Model 2019-05-10 11:00:31 -07:00
efl_general.h Mark EFL_MAIN and EFL_MAIN_EX macros as stable 2019-02-14 17:11:04 +01:00
efl_generic_model.c efl_model : rename all efl_model based classes. 2019-01-31 14:59:37 +09:00
efl_generic_model.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
efl_io_buffered_stream.c efl_io_*: apply new event calling convention 2019-03-19 16:32:02 -04:00
efl_io_buffered_stream.eo docs: Remove obsolete @since tags from EO files 2019-03-20 20:16:05 +01:00
efl_io_closer_fd.c ecore: move close_on_destructor to close_on_invalidate as that describe the behavior best. 2018-05-01 10:39:01 -07:00
efl_io_closer_fd.eo docs: Remove obsolete @since tags from EO files 2019-03-20 20:16:05 +01:00
efl_io_copier.c Make Efl.Ui.Closer an interface instead of mixin 2019-01-17 13:59:57 -05:00
efl_io_copier.eo eolian: rename @warn_unused and its associated API 2019-05-26 17:41:22 +02:00
efl_io_file.c efl.file: improve api a bit 2019-02-27 13:17:10 -05:00
efl_io_file.eo docs: Remove obsolete @since tags from EO files 2019-03-20 20:16:05 +01:00
efl_io_positioner_fd.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
efl_io_positioner_fd.eo docs: Remove obsolete @since tags from EO files 2019-03-20 20:16:05 +01:00
efl_io_reader_fd.c efl_io_*: apply new event calling convention 2019-03-19 16:32:02 -04:00
efl_io_reader_fd.eo docs: Remove obsolete @since tags from EO files 2019-03-20 20:16:05 +01:00
efl_io_sizer_fd.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
efl_io_sizer_fd.eo docs: Remove obsolete @since tags from EO files 2019-03-20 20:16:05 +01:00
efl_io_stderr.c
efl_io_stderr.eo docs: Remove obsolete @since tags from EO files 2019-03-20 20:16:05 +01:00
efl_io_stdin.c
efl_io_stdin.eo docs: Remove obsolete @since tags from EO files 2019-03-20 20:16:05 +01:00
efl_io_stdout.c
efl_io_stdout.eo docs: Remove obsolete @since tags from EO files 2019-03-20 20:16:05 +01:00
efl_io_writer_fd.c efl_io_*: apply new event calling convention 2019-03-19 16:32:02 -04:00
efl_io_writer_fd.eo docs: Remove obsolete @since tags from EO files 2019-03-20 20:16:05 +01:00
efl_linear_interpolator.c efl_interpolator: rename subclasses of Efl.Interpolator 2018-11-23 21:44:34 +09:00
efl_linear_interpolator.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
efl_loop.c ecore: remove efl_loop_{un,}register from .eo. 2019-07-17 21:57:58 +02:00
efl_loop.eo ecore: remove efl_loop_{un,}register from .eo. 2019-07-17 21:57:58 +02:00
efl_loop_consumer.c ecore: remove data parameters of Efl.Loop_Consumer.promise_new to reduce the risk of inadvertently using the wrong data. 2019-01-16 14:33:26 -08:00
efl_loop_consumer.eo eolian: move from eo_prefix to c_prefix 2019-05-09 16:17:44 +02:00
efl_loop_fd.c ecore: logically do the disconnection from the main loop API during invalidate. 2018-05-01 10:39:01 -07:00
efl_loop_fd.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
efl_loop_handler.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
efl_loop_handler.eo eo files: mark a bunch of types with @beta 2019-03-08 16:40:40 +01:00
efl_loop_message.c ecore - begin moving data into the efl loop data in the object 2017-12-15 14:16:53 +09:00
efl_loop_message.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
efl_loop_message_future.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
efl_loop_message_future.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
efl_loop_message_future_handler.c efl loop - make param as unused to remove warning 2018-01-02 15:11:06 +09:00
efl_loop_message_future_handler.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
efl_loop_message_handler.c remove elgacy ecore event usage in futures that limit to mainloop only 2017-12-28 02:24:12 +09:00
efl_loop_message_handler.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
efl_loop_model.c efl: use eina_streq for all property operation in model to avoid crash on NULL property name. 2019-07-10 21:10:23 +02:00
efl_loop_model.eo ecore: implement reflection for Efl.LoopModel properties. 2019-04-21 11:36:45 +02:00
efl_loop_timer.eo docs: Add @since 1.22 to all stable classes' EO docs 2019-03-22 16:57:36 +01:00
efl_loop_timer_eo.legacy.c efl.loop_timer: rename all methods/properties/events 2019-03-08 16:38:46 +01:00
efl_loop_timer_eo.legacy.h efl_loop_timer: remove all legacy usage from eo files 2019-03-06 13:02:51 -08:00
efl_model_accessor_view.c efl: replace efl_del with efl_unref for cases where no parent exists 2018-03-20 17:20:57 -07:00
efl_model_accessor_view_private.h
efl_select_model.c efl: use eina_streq for all property operation in model to avoid crash on NULL property name. 2019-07-10 21:10:23 +02:00
efl_select_model.eo ecore: phab didn't get this bit from D8570. 2019-07-10 14:09:15 -07:00
efl_sinusoidal_interpolator.c efl_interpolator: rename subclasses of Efl.Interpolator 2018-11-23 21:44:34 +09:00
efl_sinusoidal_interpolator.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
efl_spring_interpolator.c efl_interpolator: rename subclasses of Efl.Interpolator 2018-11-23 21:44:34 +09:00
efl_spring_interpolator.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
efl_task.c Revert "Revert command line array object because it's broken by design" 2019-02-12 21:42:33 +01:00
efl_task.eo docs: Fill last missing docs from EO files 2019-07-08 17:48:57 +02:00
efl_thread.c ecore - efl thread - remove mroe error case cnp code and share it 2019-07-20 11:55:59 +01:00
efl_thread.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
efl_threadio.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
efl_threadio.eo eo: remove Efl_Event definition (replace with builtin) 2019-07-26 13:21:14 +02:00
efl_view_model.c ecore: add simple logic to generate synthetic string property assembling value of other properties. 2019-05-29 15:53:24 -07:00
efl_view_model.eo ecore: add simple logic to generate synthetic string property assembling value of other properties. 2019-05-29 15:53:24 -07:00
meson.build ecore: add Efl.Filter_Model 2019-05-10 11:00:31 -07:00