Code review comment for ~bfrk/epics-base:scalar-get-optimization

Revision history for this message
Ben Franksen (bfrk) wrote :

I have re-submitted with an updated dependency. The type signature of dbGetField is unchanged. the change in the type signature for dbChannelGet merely makes the type of the last parameter more strongly typed. If some client passed something that is not a db_field_log* it would be an error.

Dirk has shown with a simple benchmark that the optimization is worthwhile for DB links, as Andrew had previously suspected. See the diuscussion starting at https://code.launchpad.net/~dirk.zimoch/epics-base/+git/epics-base/+merge/378968/comments/1000328

I deliberately did not move it to dbGet because dbGet with its multiple case distinctions is already quite a complicated beast. Entangling the optimization with that code would have been counter-productive. My goal was to disentangle it and put it in a single place, which is precisely why I chose dbChannelGet which, as you observed, was previously just a simple wrapper for dbGet.

review: Approve

« Back to merge proposal