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

Reply via email to