<p>On Jul 19, 2012 3:38 PM, "Daniel Stone" <<a href="mailto:daniel@fooishbar.org">daniel@fooishbar.org</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> On 19 July 2012 22:53, Keith Packard <<a href="mailto:keithp@keithp.com">keithp@keithp.com</a>> wrote:<br>
> > Adam Jackson <<a href="mailto:ajax@nwnk.net">ajax@nwnk.net</a>> writes:<br>
> >> I think there's a combination of factors that pile on to make it worse<br>
> >> than you'd expect.<br>
> ><br>
> > And, caching is completely free, so it seems sensible to just do it<br>
><br>
> It's free to not unlink the file, but you still have the overhead of<br>
> opening and reparsing the file every time.  A more sensible interim<br>
> strategy (IMO) would be to always fork xkbcomp once during startup,<br>
> preserve the resulting XkbDescRec, then hand that back every time<br>
> someone asks for the same keymap, which is pretty much all the time.<br>
> It's really not a lot of code either.</p>
<p>Don't we already do this? I wrote that patch a couple years ago. You still have the initial xkbcomp fork that's slow on a cold disk, but the in memory keymap is pretty much instant for subsequent devices. I'm on my phone and can't check the archives right now, though.</p>

<p>Dan</p>