In SVN! Thanks. Daniel Juyung Seo (SeoZ)
On Tue, Sep 27, 2011 at 4:47 PM, Kim Yunhan <[email protected]> wrote: > Thanks a lot! > > On Tue, Sep 27, 2011 at 4:29 PM, Cedric BAIL <[email protected]> wrote: > >> On Tue, Sep 27, 2011 at 8:56 AM, Daniel Juyung Seo <[email protected]> >> wrote: >> > No more comments on this patch? >> >> It's good could get in today. >> >> > If so, I'll commit this in a day. >> >> I was lacking network access. Now I am back, I can commit and break >> stuff again ! Yeah ! >> > > lol ;-) > > >> >> > On Thu, Sep 22, 2011 at 10:22 PM, Kim Yunhan <[email protected]> wrote: >> >> Of course, the multiplication won't matter at all. :) >> >> I couldn't predict how much time will be taken in ecore main loop. >> >> There exists similar code in Ecore_Con_Url and if download is stared, it >> >> will be called many times. >> >> So I guess that it could be affected with download performance. (though >> it >> >> will be a little) >> >> That was my concern. >> >> But I thought it again and UI interaction is more important than >> download >> >> performance. >> >> Therefore I'll send a patch again you suggested. >> >> >> >> Thank you. >> >> >> >> Index: ecore/src/lib/ecore_con/ecore_con_url.c >> >> =================================================================== >> >> --- ecore/src/lib/ecore_con/ecore_con_url.c (revision 63527) >> >> +++ ecore/src/lib/ecore_con/ecore_con_url.c (working copy) >> >> @@ -1357,15 +1357,21 @@ >> >> int fd_max, fd; >> >> int flags, still_running; >> >> int completed_immediately = 0; >> >> + double start; >> >> CURLMcode ret; >> >> >> >> _url_con_list = eina_list_append(_url_con_list, url_con); >> >> >> >> url_con->active = EINA_TRUE; >> >> curl_multi_add_handle(_curlm, url_con->curl_easy); >> >> - /* This one can't be stopped, or the download never start. */ >> >> - while (curl_multi_perform(_curlm, &still_running) == >> >> CURLM_CALL_MULTI_PERFORM) ; >> >> >> >> + start = ecore_time_get(); >> >> + while (curl_multi_perform(_curlm, &still_running) == >> >> CURLM_CALL_MULTI_PERFORM) >> >> + if ((ecore_time_get() - start) > (0.7 * >> >> ecore_animator_frametime_get())) >> >> + { >> >> + break; >> >> + } >> >> + >> >> completed_immediately = >> _ecore_con_url_process_completed_jobs(url_con); >> >> >> >> if (!completed_immediately) >> >> @@ -1456,7 +1462,7 @@ >> >> start = ecore_time_get(); >> >> while (curl_multi_perform(_curlm, &still_running) == >> >> CURLM_CALL_MULTI_PERFORM) >> >> /* make this not more than a frametime to keep interactivity high >> */ >> >> - if ((ecore_time_get() - start) > ecore_animator_frametime_get()) >> >> + if ((ecore_time_get() - start) > (0.7 * >> >> ecore_animator_frametime_get())) >> >> { >> >> done = 0; >> >> break; >> >> >> >> >> >> On Thu, Sep 22, 2011 at 9:33 PM, Gustavo Sverzut Barbieri < >> >> [email protected]> wrote: >> >> >> >>> What will change? The multiplication won't matter and you can move it >> >>> outside of the loop. If there is nothing else to be done in the >> mainloop it >> >>> will do few function calls and get back to work. >> >>> >> >>> If you allow the full frametime to be used, whenever the user will try >> to >> >>> do >> >>> work the frametime will be gone and skips will happen, even under low >> load! >> >>> >> >>> If someone is considering download speed I strongly recommend doing >> >>> splice() >> >>> to avoid it coming from kernel to userspace then back to kernel >> >>> >> >>> Things like servers using ecore don't need frametime at all, thus they >> can >> >>> make it a few seconds or minutes :-) >> >>> >> >>> On Thursday, September 22, 2011, Kim Yunhan <[email protected]> wrote: >> >>> > It sounds good. But I'm wonder download performance will be impaired. >> >>> :'-( >> >>> > It should be tested much more. >> >>> > >> >>> > On Thu, Sep 22, 2011 at 8:13 PM, Gustavo Sverzut Barbieri < >> >>> > [email protected]> wrote: >> >>> > >> >>> >> Better to use a percentual if frametime otherwise user will try to >> do >> >>> some >> >>> >> work and it will not have enough time. Something like 0.7 * >> >>> >> ecore_animator_frametime_get() >> >>> >> >> >>> >> On Thursday, September 22, 2011, Cedric BAIL <[email protected]> >> >>> wrote: >> >>> >> > On Thu, Sep 22, 2011 at 12:51 AM, Kim Yunhan <[email protected]> >> >>> wrote: >> >>> >> >> Thank you! >> >>> >> >> Ecore_Con_Url already have the solution with >> >>> >> _ecore_con_url_idler_handler. >> >>> >> >> So I just break the while loop if it takes too long. >> >>> >> >> >> >>> >> >> >> ================================================================== >> >>> >> >> --- src/lib/ecore_con/ecore_con_url.c (revision 63520) >> >>> >> >> +++ src/lib/ecore_con/ecore_con_url.c (working copy) >> >>> >> >> @@ -1357,15 +1357,21 @@ >> >>> >> >> int fd_max, fd; >> >>> >> >> int flags, still_running; >> >>> >> >> int completed_immediately = 0; >> >>> >> >> + double start; >> >>> >> >> CURLMcode ret; >> >>> >> >> >> >>> >> >> _url_con_list = eina_list_append(_url_con_list, url_con); >> >>> >> >> >> >>> >> >> url_con->active = EINA_TRUE; >> >>> >> >> curl_multi_add_handle(_curlm, url_con->curl_easy); >> >>> >> >> - /* This one can't be stopped, or the download never start. */ >> >>> >> >> - while (curl_multi_perform(_curlm, &still_running) == >> >>> >> >> CURLM_CALL_MULTI_PERFORM) ; >> >>> >> >> >> >>> >> >> + start = ecore_time_get(); >> >>> >> >> + while (curl_multi_perform(_curlm, &still_running) == >> >>> >> >> CURLM_CALL_MULTI_PERFORM) >> >>> >> >> + if ((ecore_time_get() - start) > >> >>> ecore_animator_frametime_get()) >> >>> >> >> + { >> >>> >> >> + break; >> >>> >> >> + } >> >>> >> >> + >> >>> >> >> completed_immediately = >> >>> >> _ecore_con_url_process_completed_jobs(url_con); >> >>> >> >> >> >>> >> >> if (!completed_immediately) >> >>> >> >> >> >>> >> >> >> >>> >> >> It works well for me. >> >>> >> >> How about this code? >> >>> >> >> Please review again. >> >>> >> > >> >>> >> > Sounds good to me. If nobody apply, I will in a few hours. >> >>> >> > >> >>> >> > Thanks, >> >>> >> > >> >>> >> >> Thank you once again. >> >>> >> >> >> >>> >> >> On Thu, Sep 22, 2011 at 4:46 AM, Cedric BAIL < >> [email protected]> >> >>> >> wrote: >> >>> >> >> >> >>> >> >>> On Wed, Sep 21, 2011 at 6:18 PM, Kim Yunhan <[email protected]> >> >>> wrote: >> >>> >> >>> > Thank you for your advice. >> >>> >> >>> > >> >>> >> >>> > libcurl already supports asynchronous DNS lookup (including >> >>> c-ares). >> >>> >> >>> > Ecore_Con_Url is integrated with libcurl. >> >>> >> >>> > But I think that code in below blocks asynchronous mechanism >> of >> >>> >> libcurl. >> >>> >> >>> > while (curl_multi_perform(_curlm, &still_running) >> >>> >> >>> > == CURLM_CALL_MULTI_PERFORM) ; >> >>> >> >>> > >> >>> >> >>> > I want to fix it simple. :) >> >>> >> >>> >> >>> >> >>> Agreed, I didn't look to that code since months or years, but >> why do >> >>> >> >>> we have a 'while' here ? shouldn't we just go back to the main >> loop >> >>> >> >>> and be magically called again ? did you try that solution ? if >> that >> >>> >> >>> work, it would be a much better fix in my opinion. >> >>> >> >>> >> >>> >> >>> > On Thu, Sep 22, 2011 at 12:48 AM, Nicolas Aguirre < >> >>> >> >>> [email protected] >> >>> >> >>> >> wrote: >> >>> >> >>> > >> >>> >> >>> >> 2011/9/21 Kim Yunhan <[email protected]>: >> >>> >> >>> >> > Hello! >> >>> >> >>> >> > >> >>> >> >>> >> > elm_map uses Ecore Con with CURL. >> >>> >> > >> >>> >> >>> >> ------------------------------------------------------------------------------ >> >>> >> All the data continuously generated in your IT infrastructure >> contains a >> >>> >> definitive record of customers, application performance, security >> >>> >> threats, fraudulent activity and more. Splunk takes this data and >> makes >> >>> >> sense of it. Business sense. IT sense. Common sense. >> >>> >> http://p.sf.net/sfu/splunk-d2dcopy1 >> >>> >> _______________________________________________ >> >>> >> enlightenment-devel mailing list >> >>> >> [email protected] >> >>> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >> >>> >> >> >>> > >> >>> >> >>> >> ------------------------------------------------------------------------------ >> >>> > All the data continuously generated in your IT infrastructure >> contains a >> >>> > definitive record of customers, application performance, security >> >>> > threats, fraudulent activity and more. Splunk takes this data and >> makes >> >>> > sense of it. Business sense. IT sense. Common sense. >> >>> > http://p.sf.net/sfu/splunk-d2dcopy1 >> >>> > _______________________________________________ >> >>> > enlightenment-devel mailing list >> >>> > [email protected] >> >>> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >> >>> > >> >>> >> >>> -- >> >>> Gustavo Sverzut Barbieri >> >>> http://profusion.mobi embedded systems >> >>> -------------------------------------- >> >>> MSN: [email protected] >> >>> Skype: gsbarbieri >> >>> Mobile: +55 (19) 9225-2202 >> >>> >> >>> >> ------------------------------------------------------------------------------ >> >>> All the data continuously generated in your IT infrastructure contains >> a >> >>> definitive record of customers, application performance, security >> >>> threats, fraudulent activity and more. Splunk takes this data and makes >> >>> sense of it. Business sense. IT sense. Common sense. >> >>> http://p.sf.net/sfu/splunk-d2dcopy1 >> >>> _______________________________________________ >> >>> enlightenment-devel mailing list >> >>> [email protected] >> >>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >> >>> >> >> >> >> >> ------------------------------------------------------------------------------ >> >> All the data continuously generated in your IT infrastructure contains a >> >> definitive record of customers, application performance, security >> >> threats, fraudulent activity and more. Splunk takes this data and makes >> >> sense of it. Business sense. IT sense. Common sense. >> >> http://p.sf.net/sfu/splunk-d2dcopy1 >> >> _______________________________________________ >> >> enlightenment-devel mailing list >> >> [email protected] >> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >> >> >> >> >> > >> > >> ------------------------------------------------------------------------------ >> > All the data continuously generated in your IT infrastructure contains a >> > definitive record of customers, application performance, security >> > threats, fraudulent activity and more. Splunk takes this data and makes >> > sense of it. Business sense. IT sense. Common sense. >> > http://p.sf.net/sfu/splunk-d2dcopy1 >> > _______________________________________________ >> > enlightenment-devel mailing list >> > [email protected] >> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >> > >> > >> >> >> >> -- >> Cedric BAIL >> >> >> ------------------------------------------------------------------------------ >> All the data continuously generated in your IT infrastructure contains a >> definitive record of customers, application performance, security >> threats, fraudulent activity and more. Splunk takes this data and makes >> sense of it. Business sense. IT sense. Common sense. >> http://p.sf.net/sfu/splunk-d2dcopy1 >> _______________________________________________ >> enlightenment-devel mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >> > ------------------------------------------------------------------------------ > All the data continuously generated in your IT infrastructure contains a > definitive record of customers, application performance, security > threats, fraudulent activity and more. Splunk takes this data and makes > sense of it. Business sense. IT sense. Common sense. > http://p.sf.net/sfu/splunk-d2dcopy1 > _______________________________________________ > enlightenment-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2dcopy1 _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
