The trdp implementation works fine for a small number of publishers and subscribers. If the system has to deal with more than 100 publishers and subscribers the performance decreases.
Some problematic functions are:
The functions must iterate through all elements, e.g. in trdp_queueFindSubAddr a linear search is used.
In that case it would be better to use several "buckets" and a multiplicate hash function to determine the bucket. Within the bucket a linear search can be perfomed.
The trdp_pdHandleTimeOuts could be perhaps improved by sorting the elements by the timeout value to avoid going through all elements in the list.
Postponed for version 2