Re: [exprimental patch] wakeup instead of polling for dns
Johannes Hofmann <[email protected]>
| Newsgroups | gmane.comp.web.dillo.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Jorge, On Fri, Feb 10, 2012 at 01:40:10PM -0300, Jorge Arellano Cid wrote: > Hi Johannes, > > On Mon, Feb 06, 2012 at 09:45:44PM +0100, Johannes Hofmann wrote: > > Hi, > > > > attached experimental patch replaces the polling for DNS answers > > with the wakeup mechanism fltk provides. > > What do you think? > > Well dns resolving is delicate, but not sacred ;) > > AFAIS the main advantage would be a near 0.1 second speedup on > average when displaying non dns-cached pages, (0.2 best case). > Which is significative. > > Please let me know if there's another advantage I miss. Well, I don't like the polling :-) There might be an increased power consumption related to the 5 times/s timer, but I'm not sure whether it really matters. > > The cost is using an FLTK mechanism (awake) which we don't in > the rest of the code. Yes, plus we need to switch on locking for all fltk just for the dns thing. That's the major drawback I think. > > It looks clean. It should be tested on different platforms/OS. > > BTW, dns.c has code for a blocking server (not threaded). Does > this awake() call work OK when called from the same main thread? > Is this by design or by chance? Maybe it would be safer to avoid > calling awake() in this case. I didn't test it yet. I still want to try other approaches that would avoid switching on the fltk threading stuff with the Fl::lock() call. Cheers, Johannes