Stream: t-compiler/wg-mir-opt

Topic: place-16bytes-plan


Santiago Pastorino (Apr 11 2019 at 14:47, on Zulip):

@oli so from today's @T-compiler/meeting, @pnkfelix asked how was the plan to get Place from 24 bytes back to 16 bytes :)

pnkfelix (Apr 11 2019 at 14:48, on Zulip):

(i could imagine a "fat index" type that couples an index (into an interned table of [PlaceProjection]'s with a length, analogous to how a &[T] slice is a fat pointer)

oli (Apr 11 2019 at 14:49, on Zulip):

There are multiple possibilities. One that doesn't work yet is to make Place an unsized type where the projections field is [PlaceProjection]

oli (Apr 11 2019 at 14:50, on Zulip):

Another one is to intern/box Place before putting it into Statement (which would get us down to 8 bytes.

oli (Apr 11 2019 at 14:51, on Zulip):

And yet another one is to work on PlaceBase's fields to see how to make them smaller

oli (Apr 11 2019 at 14:51, on Zulip):

I remember having a fourth avenue, but it escapes me atm

pnkfelix (Apr 11 2019 at 15:03, on Zulip):

Another one is to intern/box Place before putting it into Statement (which would get us down to 8 bytes.

it would, but it add cost elsewhere, right? If most Statements actually own one or more places, then this is a net loss, right?

oli (Apr 11 2019 at 15:12, on Zulip):

True

oli (Apr 11 2019 at 15:12, on Zulip):

And most statements do have a destination place

Last update: Nov 17 2019 at 07:45UTC