<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=""><div><blockquote type="cite" class=""><div class=""><br class="">On 9 Aug 2018, at 18:00, Ilya Biryukov <<a href="mailto:ibiryukov@google.com" class="">ibiryukov@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi Jan,<br class=""><div class=""><br class=""></div><div class="">Thanks for the update! It's great that we're after a solution that works at the protocol boundary, that does sound like something that should be easier to maintain and not too complicated.</div><div class="">I have skimmed through the patch, and as far as I can tell the idea is to forward raw JSON messages back and forth via XPC without actually converting from JSON to XPC and back.<br class=""></div><div class="">Am I reading it correctly?</div></div><br class=""></div></blockquote><div><br class=""></div><div>Hi Ilya,</div><div><br class=""></div><div>Yes that’s correct - we did some performance measurements and it turned out that for JSON containing a lot of sub-objects (think 40k CompletionItem[]) the cost of conversion to XPC dictionary is actually higher than what we gain at IPC. Just sending string over XPC is faster.</div><div>Since we might possibly need to use ranking and filtering logic on client side this use-case is interesting for us.</div><div><br class=""></div><div>Cheers,</div><div><br class=""></div><div>Jan</div><br class=""><blockquote type="cite" class=""><div class=""><div class="gmail_quote"><div dir="ltr" class="">On Wed, Aug 8, 2018 at 5:38 PM Jan Korous via clangd-dev <<a href="mailto:clangd-dev@lists.llvm.org" class="">clangd-dev@lists.llvm.org</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space" class="">Hi all,<div class=""><br class=""></div><div class="">Based on our discussion with Sam in <a href="https://reviews.llvm.org/D48559" target="_blank" class="">https://reviews.llvm.org/D48559</a> we talked about our requirements internally and ultimately decided to change our approach.</div><div class=""><br class=""></div><div class="">We are going to use serialized JSON LSP over XPC instead of custom transport layer and we aren’t going to indroduce XPC-specific code to clangd binary itself which has several advantages.</div><div class=""><br class=""></div><div class="">I put our current design for review to continue the discussion.</div><div class=""><a href="https://reviews.llvm.org/D50452" target="_blank" class="">https://reviews.llvm.org/D50452</a></div><div class=""><br class=""></div><div class="">I would like to thank you all for the great feedback you gave us! It helped us to precisely pinpoint our requirements.</div><div class=""><br class=""></div><div class="">Thanks.</div><div class=""><br class=""></div><div class="">Jan</div><div class=""></div></div>_______________________________________________<br class="">
clangd-dev mailing list<br class="">
<a href="mailto:clangd-dev@lists.llvm.org" target="_blank" class="">clangd-dev@lists.llvm.org</a><br class="">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/clangd-dev" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/clangd-dev</a><br class="">
</blockquote></div><br clear="all" class=""><div class=""><br class=""></div>-- <br class=""><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><div class="">Regards,</div><div class="">Ilya Biryukov</div></div></div></div></div>
</div></blockquote></div><br class=""></body></html>