+Austin Clements, who introduced the check in its current form
<https://github.com/golang/go/commit/97b3ce430bb64fb6c8dfb244d400468932f2e984>
.

On Thu, Jul 1, 2021 at 3:23 PM tapi...@gmail.com <tapir....@gmail.com>
wrote:

> Firstly, the current gc runtime implementation allows declare 10M arrays
> on stack.
>
> https://github.com/golang/go/blob/cca23a73733ff166722c69359f0bb45e12ccaa2b/src/cmd/compile/internal/escape/escape.go#L2012-L2025
> So I anticipate that some user code will make use of this threshold.
>
> Secondly, when I built the Go toolchain, I found there are many 32768
> stack uses.
> Even for 32768, 5 copystack operations are needed.
>
> I have just studied the code a little deeper, and I confidently think line
> 1067 should be
>
>     for newsize-(gp.stack.hi - gp.sched.sp) < max+_StackGuard
>
> Instead.
>
> With this change, the time needed to build the toolchain is reduced to
> 2m40.123s (from 3m3.897s).
>
> On Thursday, July 1, 2021 at 8:42:41 AM UTC-4 Jan Mercl wrote:
>
>> On Thu, Jul 1, 2021 at 2:34 PM tapi...@gmail.com <tapi...@gmail.com>
>> wrote:
>>
>> > It is not rare a function will use 10M+ stack.
>>
>> What's the source of this claim? If it's not rare, it should be easy
>> to find an example in the stdlib, I guess. Do you know of one?
>>
>> Note that stacks of such size, if common in the wild, would
>> significantly limit the number of goroutines a process can handle.
>>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/golang-nuts/aa2b50ca-209a-4f78-b5e4-5a0399c07231n%40googlegroups.com
> <https://groups.google.com/d/msgid/golang-nuts/aa2b50ca-209a-4f78-b5e4-5a0399c07231n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAEkBMfFjcwUs3bhX%3D_0RjXtdZ2YzST-F%3DXd8fw0Ti8hRD4aQqg%40mail.gmail.com.

Reply via email to