|
Luiz Henrique de Figueiredo schrieb:
If you'd like to speak at the Workshop, please state it here, giving a tentative title and a short abstract. Presentations usually are 20- or 30-minute talks about something interesting you have done with Lua. It can be an application, a library, a tool, an insight, a proposal, a demo, etc.
I can offer to speak on the C sub API for Lua, d'Arc [1].d'Arc offers an alternate and faster way to write C against both Lua and LuaJIT. It is faster, can be easier to write and uses less memory in many cases, than the the official API.
d'Arc can be used to make libraries for both Lua and LuaJIT faster, and can make it less of a hassle to write patches that target both Lua and LuaJIT. d'Arc allows you to use direct (cost-less) C pointers to variable contents -- inside the universal Lua variable value holder C structure -- in a clear and unified way.
After a brief historical intro, the talk would *primarily* take a closer look at the Lua and LuaJIT VMs. I would inspect how iteration works with the official Lua API and what happens 'under the hood', in both Lua and LuaJIT. I would look at the similarities and the differences in the implementation of the essential variable holder, TValue, in Lua and LuaJIT. Continue with a look at where LuaJIT tweaks things right there and how d'Arc allows you to write single source patches despite the differences.
Finally, an easy example would be ported, from using the official API, to using d'Arc. We'd compare how it simplifies the source, and make live benchmarks to measure the difference, and look at pitfalls.
A brainstorming session on what kind of Lua tool should be named after Wilhelm Tell [2] would conclude the session.
A one page sample for d'Arc source is here: http://hdiedrich.github.com/darc/doc/sample.html Best, Henning [1] http://hdiedrich.github.com/darc/README.html [2] http://en.wikipedia.org/wiki/William_Tell