[Python-Dev] _socket efficiencies ideas (original) (raw)
Marcus Mendenhall marcus.h.mendenhall@vanderbilt.edu
Wed, 9 Apr 2003 14:14:16 -0500
- Previous message: [Python-Dev] _socket efficiencies ideas
- Next message: [Python-Dev] _socket efficiencies ideas
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Wednesday, April 9, 2003, at 01:49 PM, Martin v. L=F6wis wrote:
Marcus Mendenhall wrote:
The getsockaddr call uses them (actually the correct name for one of=20=
the flags is AINUMERICHOST, not AINUMERIC as I originally stated),=20=
and its part of the BSD sockets library, which is basically what the=20=
python socketmodule wraps. More importantly, it is part of RFC 2553, which Python uses; it is = also part of Winsock2.
I guess intercepting all numeric is OK, it is just less efficient=20 (since it requires a trial parsing of an address, which is wasted if=20=
it is not all numeric), and because it is so easy to implement=20 . But isn't the same trial parsing needed to determine presence of the=20=
"" flag? The trial parsing Guido proposes usually stops with the first letter in a non-numeric address, and accesses up to 16=20 letters for a numeric address. Yes, but a compare of the head of a string to a constant is probably=20 something which requires 1% of the cpu time of a sscanf. Just: if (string[0]=3D=3D'<' && not strncmp(string,"",9)) {whatever} the first compare avoids even a subroutine call in the most likely case=20=
(string does not begin with ) but then checks extremely=20 quickly if it is right after that.
Even though cpu time is cheap, we should save it for useful work.
Marcus
- Previous message: [Python-Dev] _socket efficiencies ideas
- Next message: [Python-Dev] _socket efficiencies ideas
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]