2014-01-16 58 views

回答

5

StackMin被編譯成運行,因此無需重新編譯去,你不能改變它。你可以在這裏找到常量:http://golang.org/src/pkg/runtime/stack.h#L72

如果無法重新編譯去,你可以嘗試通過人爲地增加堆棧空間由您的程序使用量來解決的熱點問題分割(即插入var foo [2<<10]byte到您的代碼在熱分解函數調用之前) - 但這可能是碰到或未命中,並且可能需要在程序更改時重新調整。

如梅德提到的,轉到1.3計劃具有連續的堆,其獲得重新分配和複製到根據需要(堆棧段的未鏈接的列表)。 https://docs.google.com/document/d/1wAaf1rYoM4S4gtnPh0zOlGzWtrZFQ5suE8qr2sD8uWQ/pub