Hi! Learning node.js and its single-threaded model with asynchronous execution, I looked for things that can improve Firebird as well.
It's obvious that things like boost asio may be a good thing when dealing with sockets and filesystem, but is not subject of this thread. Today I got up thinking in coroutines and then I thought how good it would be in the context of Firebird statement execution. Statement execution is very dirty code most because semantics of SUSPEND. Here I paste very small hand-made statement execution with SUSPEND semantics using boost coroutine (with v1, but there is a v2 library). http://pastebin.com/VR7KcnTa This is so nice (and apparent fast in Linux) that I'm going to investigate further. Architecture support is mentioned here: http://www.boost.org/doc/libs/1_61_0/libs/context/doc/html/context/architectures.html. I didn't even evaluated this table with attention now. I think some disruptive ideas sometimes are good to bring new ideas. Adriano ------------------------------------------------------------------------------ The Command Line: Reinvented for Modern Developers Did the resurgence of CLI tooling catch you by surprise? Reconnect with the command line and become more productive. Learn the new .NET and ASP.NET CLI. Get your free copy! http://sdm.link/telerik Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel