Revision: 4755
http://sourceforge.net/p/vexi/code/4755
Author: mkpg2
Date: 2015-01-13 04:38:07 +0000 (Tue, 13 Jan 2015)
Log Message:
-----------
Hot replace optimisation. Avoid over checking as this can be slow if a template
is repeatedly accessed.
Modified Paths:
--------------
branches/vexi3/org.vexi-core.main/src/main/java/org/vexi/core/Blessing.java
Modified:
branches/vexi3/org.vexi-core.main/src/main/java/org/vexi/core/Blessing.java
===================================================================
--- branches/vexi3/org.vexi-core.main/src/main/java/org/vexi/core/Blessing.java
2014-11-26 06:38:08 UTC (rev 4754)
+++ branches/vexi3/org.vexi-core.main/src/main/java/org/vexi/core/Blessing.java
2015-01-13 04:38:07 UTC (rev 4755)
@@ -139,7 +139,11 @@
return f.getTimestamp();
}
+ // DEV only
private long oldtimestamp = -2;
+ private long lastCheck = -2;
+
+
private void resolve() throws JSExn {
// Otherwise we recurse infinitely.
if (initializing) {
@@ -150,12 +154,19 @@
// FEATURE: Might want to handle the ".t" part better
JS res = (parent==null) ? this : parent.getTemplateRes(parentkey);
if (Main.hotreplace) {
+ long tnow = System.currentTimeMillis();
+ // Avoid checking more than once every 2 seconds. On some
systems checking can be
+ // slow and this is bad when repeatedly loading the same
template
+ if(tnow-lastCheck<2000) return;
+
+
long timestamp = getTimestamp(res);
if (static_!=null) {
if (timestamp==oldtimestamp) {
- return;
+ lastCheck = tnow;
+ return;
} else {
- Log.system.warn(Blessing.class, "hot replace: "+res);
+ Log.system.warn(Blessing.class, "hot replace: "+res);
}
}
oldtimestamp = timestamp;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
Vexi-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/vexi-svn