chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] [PATCH] fix #1648 (correctly)


From: felix . winkelmann
Subject: Re: [Chicken-hackers] [PATCH] fix #1648 (correctly)
Date: Tue, 01 Oct 2019 15:05:53 +0200

> I don't think the -unroll-limit is that useful option to expose for the
> user. The -inline-limit already controls the amount of inlining. I
> couldn't get anything to unroll more than once without having to
> increase the inline-limit, which of course has other implications.

The inline-limit considers the _size_ of a procedure to be inlined.
The unroll-limit specifies the _number_ of times an inlinable procedure
will actually be inlined at the same call site.

I agree that the declaration/option is of limited use, but it's consisten
with the declarations/options we have.

> This is unnecessarily O(n^2) in the number of performed inlines. I think
> we should use a hash-table for inline-history.
>
> I tested with some generated files and the results were:
>
> Case n=100: real      0m1.784s  vs. real      0m2.179s  (1.2x)
> Case n=200: real      0m7.495s  vs. real      0m12.235s (1.6x)
> Case n=300: real      0m17.738s vs. real      0m42.660s (2.4x)
> Case n=400: real      0m34.975s vs. real      2m3.604s  (3.5x)

Left as an exercise to you, dear reader. A singly-linked list is
simple and straightforward, I find hash-tables ugly and wasteful
and will wory about scalability when the time arrives.


felix




reply via email to

[Prev in Thread] Current Thread [Next in Thread]