ofproto: Use hash table instead of sparse array for ofports.
authorBen Pfaff <blp@nicira.com>
Mon, 19 Jul 2010 19:57:22 +0000 (12:57 -0700)
committerBen Pfaff <blp@nicira.com>
Fri, 1 Oct 2010 17:25:10 +0000 (10:25 -0700)
commitca0f572cfe87f284018e14fa7f1de58fbaef4c87
treefb1517bb3eebc2ebc9aee31ee3a365deb4e08be0
parent0cc96e48ab2fc573c3b7b69fe5a034bb29dde578
ofproto: Use hash table instead of sparse array for ofports.

The main advantage of a sparse array over a hash table is that it can be
iterated in numerical order.  But the OVS implementation of sparse arrays
is quite expensive in terms of memory: on a 32-bit system, a sparse array
with exactly 1 nonnull element has 512 bytes of overhead.  In this case,
the sparse array's property of iteration in numerical order is not
important, so this commit converts it to a hash table to save memory.
ofproto/ofproto.c