<p dir="ltr">Hi Martin</p>
<p dir="ltr">Fine by me. Think it should be opt in if possible. </p>
<p dir="ltr">A couple of thoughts on that note. Do you know of it s the io or the cpu time that&#39;s the issue? </p>
<p dir="ltr">We probably want to opt in with a list as well as all as there&#39;s no point in loading the v11n if not required. </p>
<p dir="ltr">I guess especially if we end up with mappings per module eventually. </p>
<p dir="ltr">On a separate note, I also found the books.installed call is very expensive. Thinking it may be worth partially loading these. With around 200 modules we spend almost 15 seconds loading them. </p>
<p dir="ltr">Finally you can apply for a open source license of jprofiler which helps massively to work out what&#39;s going on. Have got a couple of uncommitted fixes for books. Installed find with that. </p>
<p dir="ltr">Chris</p>
<div class="gmail_quote">On 16 Jan 2014 18:10, &quot;Martin Denham&quot; &lt;<a href="mailto:mjdenham@gmail.com">mjdenham@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hi,<div><br></div><div>I have integrated the new v11n mapping code and find I am getting a pause when doing the initial mapping between any 2 v11ns.</div><div><br></div><div>I originally had the same problem with the AB mapping code so pre-loaded all mapping required for the installed set of documents at the start in a background thread to prevent delays.  The code I used is in <a href="https://github.com/mjdenham/and-bible/blob/master/AndBible/src/net/bible/android/control/versification/mapping/VersificationMappingFactory.java" target="_blank">VersificationMappingFactory.<span style="color:rgb(153,0,0);font-family:Consolas,&#39;Liberation Mono&#39;,Courier,monospace;font-size:12px;font-weight:bold;line-height:18px;white-space:pre-wrap">initialiseRequiredMappings()</span></a>.</div>

<div><br></div><div>I am trying to think of the best way to do this in the new code.  Either i) you could add a method to do it which could be called or ii) you could proeload all required mappings automatically or iii) add a new method to allow AB (or other frontend) to trigger preload of all required mappings by adding a public method a bit like the new VersificationsMapper.ensure(v11ntopreload).</div>

<div><br></div><div>This is quite an issue for mobile users.  I have a fast mobile and loading a mapping causes a noticeable delay the first time a verse changes, but the preload fix is fairly simple and worked well.</div>

<div><br></div><div>Cheers</div><div>Martin</div><div><br></div></div>
<br>_______________________________________________<br>
jsword-devel mailing list<br>
<a href="mailto:jsword-devel@crosswire.org">jsword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/jsword-devel</a><br>
<br></blockquote></div>