udpsrc: optimize GstUdpSrc object for cache performance

Optimize GstUdpSrc for cache performance.

Move the hot properties, which are used by the read function, to the top:
@used_socket, @addr, @cancellable, @skip_first_bytes, @timeout,
@retrieve_sender_address.

Remove the unused property @ttl.

Where needed reorder so that holes are avoided (the 64-bit @timeout)

https://bugzilla.gnome.org/show_bug.cgi?id=772841
This commit is contained in:
Petr Kulhavy 2016-11-15 09:39:31 +01:00 committed by Nicolas Dufresne
parent 850e678813
commit 589019d8f5

View file

@ -47,32 +47,32 @@ typedef struct _GstUDPSrcClass GstUDPSrcClass;
struct _GstUDPSrc {
GstPushSrc parent;
/* our sockets */
GSocket *used_socket; /* hot */
GInetSocketAddress *addr; /* hot */
GCancellable *cancellable; /* hot */
/* properties */
gint skip_first_bytes; /* hot */
guint64 timeout; /* hot */
gboolean retrieve_sender_address; /* hot */
gchar *address;
gint port;
gchar *multi_iface;
gint ttl;
GstCaps *caps;
gint buffer_size;
guint64 timeout;
gint skip_first_bytes;
GSocket *socket;
gboolean close_socket;
gboolean auto_multicast;
gboolean reuse;
gboolean loop;
gboolean retrieve_sender_address;
/* stats */
guint max_size;
/* our sockets */
GSocket *used_socket;
GInetSocketAddress *addr;
gboolean external_socket;
gboolean made_cancel_fd;
GCancellable *cancellable;
/* memory management */
GstAllocator *allocator;