<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Awesome, thank you for this!<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Nov 25, 2019, at 7:20 PM, Dan Wilcox <<a href="mailto:danomatika@gmail.com" class="">danomatika@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Howdy all,<div class=""><br class=""></div><div class="">Pd's start time on macOS has always felt a bit *slow*. Recently, someone on the pd-list noticed starting Pd with -noprefs helps a great deal.</div><div class=""><br class=""></div><div class="">I did some digging and the core basically performs a system call to the "defaults" command for *each* key/value in s_file.c, including a stat() check if the preferences file exists. That's a good amount of filesystem IO and probably explains why it takes *3-4 seconds* on my machine.</div><div class=""><br class=""></div><div class="">For a proposed update to fix this, I just got some code working which reads the plist into a dictionary object directly using the macOS CoreFoundation framework (all C). Reading keys and values is then much faster and Pd starts up almost instantaneously now. Next step would be to updating preference saving as well.</div><div class=""><br class=""></div><div class="">I hope to finalize this and put it up as a PR in a week or two for testing.</div><div class=""><br class=""><div class="">
<div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">--------</div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">Dan Wilcox</div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="http://twitter.com/danomatika" class="">@danomatika</a></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="http://danomatika.com/" class="">danomatika.com</a></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="http://robotcowboy.com/" class="">robotcowboy.com</a></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><br class="Apple-interchange-newline">
</div>
<br class=""></div></div>_______________________________________________<br class="">Pd-dev mailing list<br class=""><a href="mailto:Pd-dev@lists.iem.at" class="">Pd-dev@lists.iem.at</a><br class="">https://lists.puredata.info/listinfo/pd-dev<br class=""></div></blockquote></div><br class=""></body></html>