On 05/13/2015 06:35 AM, Robert Hanson wrote:
> http://chemapps.stolaf.edu/jmol/zip/jmol-14.3.13_2015.05.12.zip
>
>
> Jmol.___JmolVersion="14.3.13_2015.05.12"
>
> bug fix: re-entering functions loses if/else state
> bug fix: more issues with low-resolution linear-z index lines.
>           Need to compromise for isosurfaces and nucleic cartoons
>           -- which became very slow to render with precision Z placement.
>
>
> The second fix there is in relation to a subtle mistake that Jmol's
> renderer makes in calculating the z position of a pixel in perspective
> mode. In particular, the calculation  across a line in space is *not*
> linear -- it is a curve. This is now fixed,
> but I needed to make some performance compromises in JavaScript such that
> it is not implemented with isosurfaces or nucleic acid bases. This seems
> reasonable because those typically involve hundreds or thousands of small
> triangles, and this only  appears significant with long lines or large
> triangles.
>
> The first bug fix is for Rolf -- recursive function calling was losing
> if/else references. Just a very simple fix. So now Jmol functions are fully
> recursive.
Thanks, Bob. It works now up to a level of 100:

level=100  maxLevel=101
script ERROR: too many script levels
----line 3 command 3 of function rectest:
          recTest ( level + 1 , maxLevel >> ) <<

It would be nice to add the recursion limit to the documentation, since 
it seems to be stable.

In contrast, in Javascript in my Firefox 37.0 it doesn't seem to be 
stable. According to this test page 
(http://adamrich.name/recursion.html) it flips somewhere between 5000 
and 17000. The test data is collected and summarized (apparantly as 
average) on another page 
("http://www.browserscope.org/user/tests/table/agt1YS1wcm9maWxlcnINCxIEVGVzdBi9qbEUDA?v=3&layout=simple";).

In Perl the recursion level was never a problem for me because the limit 
seems to be only dependent on the amount of available memory. 10 million 
levels are no problem on my system with the simple 'recTest' function 
from the recent recursion thread, if 10 GB of memory are available. (The 
process was killed from the system if less was available.)

After I learned about the rather low Javascript limit I rewrote my 
recursive Jmol script function to a non-recursive one. Just to be on the 
save side with JSmol. So the even lower Jmol limit cannot become a 
problem for me any more.

Regards,
Rolf

-- 

Rolf Huehne
Postdoc

Leibniz Institute for Age Research - Fritz Lipmann Institute (FLI)
Beutenbergstrasse 11
07745 Jena, Germany

Phone:   +49 3641 65 6205
Fax:     +49 3641 65 6210
E-Mail:  rhue...@fli-leibniz.de
Website: http://www.fli-leibniz.de

           Scientific Director: Prof. Dr. K. Lenhard Rudolph
        Head of Administration: Dr. Daniele Barthel
Chairman of Board of Trustees: Dennys Klein

VAT No: DE 153 925 464
Register of Associations: No. 230296, Amtsgericht Jena
Tax Number: 162/141/08228


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Jmol-users mailing list
Jmol-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-users

Reply via email to