<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Well, in my experience performance issues tend to come not from trying to display a single object, but when you have an aggregation of many objects. For example, displaying one Int is pretty lightweight, as is an [Int] with a handful of elements, but displaying an [Int] with million elements is not (this is assuming that collections will run the&nbsp;<span style="font-family: SFProText-Regular;" class="">playgroundRepresentation on their individual elements as they do currently).</span>&nbsp;I don’t think the current proposal can solve this issue as it’s pitched currently. (For those curious, this doesn’t have a good solution today, either: the best “solution” I’ve been able to come up with is to move performance-sensitive out into a Playground’s Sources folder, which isn’t displayed.)<div class=""><br class=""></div><div class="">Fundamentally, I don’t think it’s clear what the “default” value is supposed to be: we already have three different interpretations of what it <i class="">could</i>&nbsp;do: do literally nothing (i.e. display an empty representation), use a superclass’s representation, or use a structural representation based on whether the type is an enum, struct, class, etc. I think we need to clear up what the default actually means (and if we even need it at all) before we can proceed.</div><div class=""><div class=""><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Saagar Jha</div>

</div>
<div><br class=""><blockquote type="cite" class=""><div class="">On Jan 10, 2018, at 10:02, Chris Lattner &lt;<a href="mailto:clattner@nondot.org" class="">clattner@nondot.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><blockquote type="cite" class="">On Jan 9, 2018, at 11:30 PM, Saagar Jha &lt;<a href="mailto:saagar@saagarjha.com" class="">saagar@saagarjha.com</a>&gt; wrote:<br class=""><blockquote type="cite" class=""><br class="">In short, can we change playgroundRepresentation to return Any instead of Any?. &nbsp;Among other things, doing so could ease the case of playground formatting Optional itself, which should presumably get a conditional conformance to this. &nbsp;:-)<br class=""></blockquote><br class="">I believe the rationale behind this was to provide a way to “opt-out” of a customized representation, although now that I think about it, what exactly does the default mean? In particular, what happens in this case?<br class=""></blockquote><br class="">If you want a type to display as nothing (e.g. to avoid the perf impact of formatting it) just make the playground representation be an empty string or something.<br class=""><br class="">-Chris<br class=""><br class=""><br class=""></div></div></blockquote></div><br class=""></div></div></body></html>