On Fri, Apr 5, 2019 at 5:33 AM Steeve Morin <steeve.mo...@gmail.com> wrote:
>
> Removing the function names and file information probably constitutes the
> most part of the size, I would guess.
>
> Do you suggest stripping it as a post processing step or modifying the linker
> to not emit the strings in the first place?
> I'm not fond of adding a new flag to the linker, but it may not be such a bad
> idea in a mobile context to remove function names and file information.

I doubt it's feasible to strip the names after the fact; I think it
would have to be a linker option.  (I'm not promising that such a
linker option would be accepted into the main tree.)

> I would assume most of that happens in cmd/link/internal/ld/pcln.go right ?

As far as I know, yes.

Ian


> On Friday, April 5, 2019 at 12:14:49 AM UTC+2, Ian Lance Taylor wrote:
>>
>> On Thu, Apr 4, 2019 at 2:32 PM Steeve Morin <steev...@gmail.com> wrote:
>> >
>> > We are big Go users on Android and iOS thanks to golang/mobile.
>> >
>> > Lately we were doing some size profiling and stumbled upon runtime.pclntab,
>> > which in our case represents almost 20% of the file size according to 
>> > bloaty.
>> > Now I understand that it's used for things like runtime.Caller and panics.
>> > That said, in a mobile context panics are not that useful as this job is 
>> > handled by
>> > services like Crashlytics and DWARF.
>> >
>> > So we were wondering if it would be possible to strip it (or not emit it 
>> > altogether)
>> > and what would be the consequences/limitations of that?
>>
>> The consequences of removing pclntab would be fairly severe.  You
>> wouldn't just lose runtime.Callers and stack traces and tracing and
>> profiling.  The pclntab section is also used by the garbage collector
>> to traverse the stack, and by the stack copying code.  I doubt that
>> many substantial Go programs would still work correctly.
>>
>> That said you could in principle drop part of pclntab with less severe
>> consequences, such as removing the function names.  I don't know of
>> any supported way to do that, though.
>>
>> Ian
>
> --
> 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.
> For more options, visit https://groups.google.com/d/optout.

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to