With the extensive compile-time evaluation that comes from Ur/Web's
style of metaprogramming, it's not surprising that one would encounter
superlinear scaling in time or space, applying components like those in
UPO. I think your conclusion is correct that the type checker isn't to
blame. Rather, compile-time reduction was generating exponential
explosion in code size.
I believe I've fixed the issue, and thanks for reporting it. Don't be
surprised to find more in the future! (I had only tested CSV import
with about 5 fields, previously.)
On 03/02/2017 04:46 PM, Marko Schütz Schmuck wrote:
Dear All,
I naïvely tried compiling a source code file with a table having 15
attributes, 3 of which form the key. Also, that table is used with
Csv.importTable from upo.
After a few seconds the compiler uses 4GB of memory and 100% CPU and
seems stuck. If I reduce the number of attributes to 12 it compiles in
~2m30s total and with only 4 attributes it's done in ~24s total.
In this case I actually do not need all the attributes, but for a
future extension I would. I wondered whether the type checker is to
blame, but it appears not: with -tc the compiler takes ~24s total for
the file with the 15 attributes.
Any recommendations?
Best regards,
Marko
_______________________________________________
Ur mailing list
[email protected]
http://www.impredicative.com/cgi-bin/mailman/listinfo/ur