Massimo,
I am happy to report nothing is broken with a trunk hg pull as of Sunday Aug 26th morning a few minutes before writing this. The app I wrote is a video management platform for Axis cameras running on Linux. A lot of the code is outside web2py, but I use web2py for the user interface to select cameras for live view, look at archives and anything else that needs to be done through a browser which is the only user interface into the system. I converted my models to use the new lazy_tables using on_define callbacks in the table definition where needed because of IS_IN_DB with _and parameters or IS_IN_SET requirements. I used the inline requires= for tables that did not need the callback method. I only have on the order of 20 tables for the app and the tables in use are somewhat specific to the area the user is currently using, e.g. maps for geographic location of cameras, live viewing, archive viewing however many of the tables are needed regardless across all areas of the app. I did lazy_tables=True in the DAL statement plus made sure it was set up to have migration off. I didn't notice much difference in the timing in my case between the before and after lazy_tables modifications of the app both cases running on trunk as of yesterday. Maybe the small number of tables in the application or the way the tables are used makes it a don't care for me. I might also have missed something. I will try your code benchmark later when I get some time. I am layered on PostgreSQL 9.1.5 (Ubuntu 12.04). Ron --