summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hirt <hirt.danny@gmail.com>2017-08-23 18:39:57 +0300
committerDaniel Hirt <hirt.danny@gmail.com>2017-08-23 18:39:57 +0300
commitd09e29fa0cb77e5a8314aadc2a60c6e9dde91853 (patch)
treeaf5f74372ef2a80906ea3abae3ac628c9e81b058
parent064d0a01f9dfd0daca6f2f777948e38acd6a44f0 (diff)
downloadefl-d09e29fa0cb77e5a8314aadc2a60c6e9dde91853.tar.gz
add time prints
-rw-r--r--src/lib/evas/canvas/evas_object_textblock.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c
index c7c82d1ba6..dcc6cc8763 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -1,3 +1,13 @@
+#define TIME_INIT(name) \
+ clock_t _ ## name ## _start = 0, _## name ## _end = 0;
+#define TIME_START(name) \
+ _ ## name ## _start = clock();
+#define TIME_END(name) \
+ _ ## name ## _end = clock();
+#define TIME_PRINT(name) \
+ printf("TIME (" # name "): %f\n", \
+ (float) (_ ## name ## _end - _ ## name ## _start) / CLOCKS_PER_SEC);
+
/**
* @internal
* @subsection Evas_Object_Textblock_Internal Internal Textblock Object Tutorial
@@ -6304,6 +6314,8 @@ _layout_pre(Ctxt *c, int *style_pad_l, int *style_pad_r, int *style_pad_t,
static void
_layout(const Evas_Object *eo_obj, int w, int h, int *w_ret, int *h_ret)
{
+ TIME_INIT(_layout);
+ TIME_START(_layout);
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
Efl_Canvas_Text_Data *o = efl_data_scope_get(eo_obj, MY_CLASS);
Ctxt ctxt, *c;
@@ -6420,16 +6432,22 @@ _layout(const Evas_Object *eo_obj, int w, int h, int *w_ret, int *h_ret)
/* Clear all of the index */
memset(o->par_index, 0, sizeof(o->par_index));
+ TIME_INIT(_layout_pars);
+ TIME_START(_layout_pars);
EINA_INLIST_FOREACH(c->paragraphs, c->par)
{
_layout_update_par(c);
/* Break if we should stop here. */
+ TIME_INIT(_par);
+ TIME_START(_par);
if (_layout_par(c))
{
last_vis_par = c->par;
break;
}
+ TIME_END(_par);
+ TIME_PRINT(_par);
if ((par_index_pos < TEXTBLOCK_PAR_INDEX_SIZE) && (--par_count == 0))
{
@@ -6438,6 +6456,8 @@ _layout(const Evas_Object *eo_obj, int w, int h, int *w_ret, int *h_ret)
o->par_index[par_index_pos++] = c->par;
}
}
+ TIME_END(_layout_pars);
+ TIME_PRINT(_layout_pars);
/* Clear the rest of the paragraphs and mark as invisible */
if (c->par)
@@ -6501,6 +6521,8 @@ _layout(const Evas_Object *eo_obj, int w, int h, int *w_ret, int *h_ret)
}
c->o->obstacle_changed = EINA_FALSE;
+ TIME_END(_layout);
+ TIME_PRINT(_layout);
}
/*