I'm totaly agreed with gustavo, did you really test it in real wordl ??? 2012/10/23 Gustavo Sverzut Barbieri <[email protected]>
> On Tue, Oct 23, 2012 at 7:30 PM, Jérémy Zurcher <[email protected]> wrote: > > > > Hi, > > > > I wanted to try to speed up eina_stringshare_del, > > but I ended touching eina_stringshare_add first. > > > > p0.patch: _eina_share_common_find_hash(…) > > merges _eina_share_common_cmp and calls to > eina_rbtree_inline_lookup > > > > p1.patch: eina_stringshare API > > treat big strings first and avoid a call from > eina_stringshare_add > > p1 breaks del accounting of population, while I don't think it will > make any difference: > > --- a/eina/src/lib/eina_stringshare.c > +++ b/eina/src/lib/eina_stringshare.c > @@ -582,28 +582,17 @@ eina_stringshare_del(Eina_Stringshare *str) > return; > > /* special cases */ > - if (str[0] == '\0') > - slen = 0; > - else if (str[1] == '\0') > - slen = 1; > - else if (str[2] == '\0') > - slen = 2; > - else if (str[3] == '\0') > - slen = 3; > - else > - slen = 4; /* handled later */ > - > - if (slen < 2) > + if (str[0] == '\0' || str[1] == '\0') > return; > - else if (slen < 4) > + else if (str[2] == '\0' || str[3] == '\0') > { > + slen = (str[2] == '\0') ? 2 : 3; > eina_share_common_population_del(stringshare_share, slen); > eina_lock_take(&_mutex_small); > _eina_stringshare_small_del(str, slen); > eina_lock_release(&_mutex_small); > return; > } > > eina_share_common_population_del() will not run for sizes 0 and 1. > > There are some coding style issues and going over some abstraction > such as accessing the RB tree in order to speed up. > > From the images the speed up seems quite marginal and I wonder how you > tested it. We provide the e17 benchmark that uses real-word strings, > it's better than some random synthetic test. Did you run this? could > you check with that? > > note: AFAIR the biggest impact of the stringshare was the locks to > make it multithread safe :-/ > > -- > Gustavo Sverzut Barbieri > http://profusion.mobi embedded systems > -------------------------------------- > MSN: [email protected] > Skype: gsbarbieri > Mobile: +55 (19) 9225-2202 > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_sfd2d_oct > _______________________________________________ > enlightenment-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Michaël Bouchaud (yoz) <[email protected]> ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
