mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-18 10:10:58 +00:00
performance tree-grow: remove local cache, because short-time-wind-cache does work correctly now;
This commit is contained in:
1 parent
620c490043
commit
bb6cd655d9
1 file changed
+1
-11
+1
-11
@@ -1,14 +1,11 @@
|
||||
package com.sap.sailing.simulator.windfield.impl;
|
||||
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.impl.DegreePosition;
|
||||
import com.sap.sailing.domain.common.impl.MeterDistance;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sailing.domain.tracking.Wind;
|
||||
import com.sap.sailing.simulator.TimedPosition;
|
||||
import com.sap.sailing.simulator.impl.TimedPositionImpl;
|
||||
import com.sap.sailing.simulator.windfield.WindFieldGenerator;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
@@ -27,12 +24,10 @@ public class WindFieldTrackedRaceImpl extends WindFieldGeneratorImpl implements
|
||||
private static final double EPSILON_DISTANCE_METER = 20;
|
||||
private static final long EPSILON_TIME_MILLIS = 5000;
|
||||
private TrackedRace race;
|
||||
private final ConcurrentHashMap<TimedPosition, Wind> cache;
|
||||
|
||||
public WindFieldTrackedRaceImpl(TrackedRace race) {
|
||||
super(null, null);
|
||||
this.race = race;
|
||||
this.cache = new ConcurrentHashMap<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -46,12 +41,7 @@ public class WindFieldTrackedRaceImpl extends WindFieldGeneratorImpl implements
|
||||
long epsTime = EPSILON_TIME_MILLIS;
|
||||
TimePoint qTime = new MillisecondsTimePoint((long) (Math.floor(time.asMillis() / epsTime) * epsTime));
|
||||
Position qPosition = new DegreePosition(qLat, qLng);
|
||||
TimedPosition qTimedPosition = new TimedPositionImpl(qTime, qPosition);
|
||||
Wind wind = cache.get(qTimedPosition);
|
||||
if (wind == null) {
|
||||
wind = this.race.getWind(qPosition, qTime);
|
||||
cache.put(qTimedPosition, wind);
|
||||
}
|
||||
Wind wind = this.race.getWind(qPosition, qTime);
|
||||
return wind;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user