[Ur] compiler time/space depending on number of table attributes

Marko Schütz Schmuck markoschuetz at googlemail.com
Sun Mar 5 11:11:15 EST 2017


With your change the compile time for the 15 attribute test now takes
about 2/3 of the time that the 12 attribute test took before the
change.

Great!

Best regards,

Marko

On Sun, 05 Mar 2017 10:51:10 -0400,
Adam Chlipala wrote:
> 
> 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
> Ur at impredicative.com
> http://www.impredicative.com/cgi-bin/mailman/listinfo/ur
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: OpenPGP Digital Signature
URL: <http://www.impredicative.com/pipermail/ur/attachments/20170305/822e73b8/attachment.sig>


More information about the Ur mailing list