[PATCH 1/3] socket: evaluate buffer size in recv / recvfrom
Vladimir Davydov
vdavydov.dev at gmail.com
Mon Aug 27 12:20:59 MSK 2018
On Mon, Aug 27, 2018 at 03:08:49AM +0300, Alexander Turenko wrote:
> On Fri, Aug 24, 2018 at 06:25:42PM +0300, Vladimir Davydov wrote:
> > On Fri, Aug 24, 2018 at 05:47:37AM +0300, Alexander Turenko wrote:
> > > diff --git a/src/lua/socket.lua b/src/lua/socket.lua
> > > index 06306eae2..946e11e9e 100644
> > > --- a/src/lua/socket.lua
> > > +++ b/src/lua/socket.lua
> > > @@ -770,6 +770,41 @@ local function socket_send(self, octets, flags)
> > > return tonumber(res)
> > > end
> > >
> > > +local function socket_is_udp(self)
> > > + local fd = check_socket(self)
> > > + if self.itype == nil then
> > > + self.itype = self:getsockopt('SOL_SOCKET', 'SO_TYPE')
> >
> > I think you could instead set itype in socket constructor.
> >
>
> That will increase memory consumption in case when it is not needed to
> know itype: say, for sending sockets (I should add comment about this,
> of course). However I think it is worth to cache it when revc / recvfrom
> is used intensively to avoid extra syscall.
>
> Do you think we can ignore extra memory comsumption in this case?
How much of memory overhead is it going to be? Several bytes per socket?
IMHO we can ignore it.
More information about the Tarantool-patches
mailing list