Linked by Eugenia Loli-Queru on Sun 13th May 2007 00:35 UTC, submitted by Luis
Thread beginning with comment 239746
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.
> Why so much polling?
Because noone thought about the power usage when programming the application?
I bet that some parts of the code of a Linux distribution was written before laptops existed..
Sure, you're right that highly distributed sw development like in free software leads to poor coherency, but the one nice thing about free software is that if you need an asynchronous notification not present in the original sw then you can add it, with proprietary sw you're stuck having to find a workaround.
RE[2]: Why so much polling?
by anda_skoa on Sun 13th May 2007 14:03
in reply to "RE: Why so much polling?"
Because noone thought about the power usage when programming the application?
I think it is more likely that at the time some of this code has been written there hadn't been any asynchronous method of doing the desired task.
For example take file change monitoring. If our operating system does not provide you a notification mechanism on file changes, you're only option left is to do polling.
Or RSS feeds: news aggregators have to poll their URIs since they can't just broadcast that they have new content available.
RE[2]: Why so much polling?
by Ford Prefect on Sun 13th May 2007 15:36
in reply to "RE: Why so much polling?"







Member since:
2006-01-02
I really don't understand how people can think that polling is ever the right solution. It's one of the first things you learn when studying low-power circuitry: asynchronous circuits generally save power. The same thing applies to software. Asynchronous, event-based programming keeps the machine quiescent when nothing is happening.
I think this is one of the few penalties of the distributed method of software development. There is no core set of practices and ideas on how to solve problems that are produced by interactions up and down the entire stack. And the loose-coupling of components often means that the event one desires to wait for is not exposed by the interface for the underlying component.