ca-gateway
ca-gateway copied to clipboard
Make sure a large gp hash table is used
Reported by Lana Abadie (ITER):
Investigating long reconnect times through a CA Gateway, profiling found that the Gateway spends a lot of time inside GPHENTRY * epicsStdCall gphFindParse(gphPvt *pgphPvt, const char *name, size_t len, void *pvtid)
, namely doing string comparisons.
In that general purpose hash table, linear search and string comparisons are done in the case of collisions, i.e., when hash buckets are found not empty.
The CA Gateway – being an application that may serve many PVs and always runs on a virtual memory system – should use a large gp hash table.