BIND 10 #2690: use select instead of poll/kqueue in msgq
BIND 10 Development
do-not-reply at isc.org
Wed Aug 14 11:40:58 UTC 2013
#2690: use select instead of poll/kqueue in msgq
-------------------------------------+-------------------------------------
Reporter: jinmei | Owner: muks
Type: task | Status:
Priority: medium | reviewing
Component: msgq | Milestone:
Keywords: | Sprint-20130820
Sensitive: 0 | Resolution:
Sub-Project: Core | CVSS Scoring:
Estimated Difficulty: 4 | Defect Severity: N/A
Total Hours: 0 | Feature Depending on Ticket:
| Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
Changes (by vorner):
* owner: vorner => muks
Comment:
Hello
Replying to [comment:13 muks]:
> * What is the purpose of this statement:
> {{{
> write_ready = set(write_ready)
> }}}
>
> I follow what it does, but did something make you write that statement?
Well, the select.select returns a list. And I do `fd in write_ready` and
`write_ready.remove`. They are linear-time operations on list, while
expected constant time on sets. I know the optimisation isn't important
probably, but it felt wrong to put such suboptimal code that would get to
quadratic running time if the fix was so easy.
> * Can this use the code in `isc.server_common.bind10_server`?
In theory, yes. However, the bind10_server does much more than what is
needed here (and I don't think it can be told not to). So it would need
somewhat larger refactoring of the code that is not topic of this ticket.
--
Ticket URL: <http://bind10.isc.org/ticket/2690#comment:14>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list