I was working on getting a C port of the thrift backend working, but
after looking at some of the issues involved, I decided that it made
more sense to ditch the Thrift IDL, and use a different approach to
access the Thrift marshalling and RPC infrastructure.
I've descibed the approach in the attatched document.
I wrote a prototype that implements about 1/2 the features described in
the document; I can post the source code and some examples a little
later if there is interest.
I'm focusing on the client side stubs. I suspect that the stubs
generated by the prototype are several factors and may even be faster by
orders of magintude than the equivalent stubs generated by the Thrift IDL.