Skip to content

Commit 65e0aad

Browse files
loop optimizations
1 parent ba779e8 commit 65e0aad

File tree

3 files changed

+23
-23
lines changed

3 files changed

+23
-23
lines changed

js/app.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,8 +258,7 @@ $(window).ready(function() {
258258
}
259259

260260
// preload images
261-
var i = 0;
262-
for(i = 0; i < preloadImages.length; i++) {
261+
for(var i = 0, ii = preloadImages.length; i < ii; i++) {
263262
var image = new Image();
264263
image.onLoad = (function() { nLoadedImages++; })();
265264
image.src = preloadImages[i];

js/chasecar.lib.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ ChaseCar.getUUIDS = function(callback) {
2828
ChaseCar.request = function(doc) {
2929
if(doc) { ChaseCar.queue.push(doc); }
3030

31-
for(var i = 0; i < ChaseCar.queue.length; i++ ) {
31+
var i = ChaseCar.queue.length;
32+
while(i--) {
3233
if(ChaseCar.ucount == ChaseCar.uused && !ChaseCar.uuidsRequested) {
3334
ChaseCar.uuidsRequested = true; // blocks further uuids request until the current one completes
3435
ChaseCar.getUUIDS(function() {

js/tracker.js

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ function load() {
5151

5252
// set minimum zoom
5353
var mapTypes = map.getMapTypes();
54-
for(var i = 0; i < mapTypes.length; i++){
54+
for(var i = 0,ii = mapTypes.length; i < ii; i++){
5555
//mapTypes[i].getMaximumResolution = function(latlng){ return 12;};
5656
mapTypes[i].getMinimumResolution = function(latlng){ return 2;};
5757
}
@@ -132,7 +132,7 @@ function optional(caption, value, postfix) {
132132
} else {
133133
var a = value.split(";");
134134
var result = "";
135-
for(var i = 0; i < a.length; i++) {
135+
for(var i = 0,ii = a.length; i < ii; i++) {
136136
var b = a[i].split("=");
137137
result += "<b>" + b[0] + ":</b> " + b[1] + "<br />"
138138
}
@@ -239,7 +239,7 @@ function atlas_data(caption, value, postfix) {
239239
var extra = 0;
240240
if(value.indexOf(";") != -1) {
241241
values = value.split(";");
242-
for(var i = 0; i < values.length; i++) {
242+
for(var i = 0, ii = values.length; i < ii; i++) {
243243
if(i < fields.length) {
244244
caption = fields[i];
245245
} else {
@@ -261,7 +261,7 @@ function whitestar_data(caption, value, postfix) {
261261
var extra = 0;
262262
if(value.indexOf(";") != -1) {
263263
values = value.split(";");
264-
for(var i = 0; i < values.length; i++) {
264+
for(var i = 0, ii = values.length; i < ii; i++) {
265265
if(i < fields.length) {
266266
caption = fields[i];
267267
} else {
@@ -283,7 +283,7 @@ function horus_data(caption, value, postfix) {
283283
var extra = 0;
284284
if(value.indexOf(";") != -1) {
285285
values = value.split(";");
286-
for(var i = 0; i < values.length; i++) {
286+
for(var i = 0, ii = values.length; i < ii; i++) {
287287
if(i < fields.length) {
288288
caption = fields[i];
289289
} else {
@@ -305,7 +305,7 @@ function darkside_data(caption, value, postfix) {
305305
var extra = 0;
306306
if(value.indexOf(";") != -1) {
307307
values = value.split(";");
308-
for(var i = 0; i < values.length; i++) {
308+
for(var i = 0, ii = values.length; i < ii; i++) {
309309
if(i < fields.length) {
310310
caption = fields[i];
311311
} else {
@@ -327,7 +327,7 @@ function picochu_data(caption, value, postfix) {
327327
var extra = 0;
328328
if(value.indexOf(";") != -1) {
329329
values = value.split(";");
330-
for(var i = 0; i < values.length; i++) {
330+
for(var i = 0, ii = values.length; i < ii; i++) {
331331
if(i < fields.length) {
332332
caption = fields[i];
333333
} else {
@@ -353,7 +353,7 @@ function apex_data(caption, value, postfix) {
353353
var extra = 0;
354354
if(value.indexOf(";") != -1) {
355355
values = value.split(";");
356-
for(var i = 0; i < values.length; i++) {
356+
for(var i = 0, ii = values.length; i < ii; i++) {
357357
if(i < fields.length) {
358358
caption = fields[i];
359359
} else {
@@ -396,7 +396,7 @@ function updateAltitude(index) {
396396
}
397397

398398
function updateZoom() {
399-
for(var index = 0; index < vehicles.length; index++) {
399+
for(var index = 0, ii = vehicles.length; index < ii; index++) {
400400
if(vehicles[index].vehicle_type == "balloon") {
401401
updateAltitude(index);
402402
}
@@ -599,7 +599,7 @@ function showSignals(index, position) {
599599
signals = [];
600600
if(position.callsign == "") return;
601601
var callsigns = position.callsign.split(",");
602-
for(var i = 0; i < callsigns.length; i++) {
602+
for(var i = 0, ii = callsigns.length; i < ii; i++) {
603603
// check receivers first:
604604
var r_index = $.inArray(callsigns[i], receiver_names);
605605
if(r_index != -1) {
@@ -614,7 +614,7 @@ function showSignals(index, position) {
614614
// if nothing found, check vehicles:
615615
var vehicle_index;
616616
var r = new RegExp(callsigns[i], "i"); // check if callsign is contained in vehicle name
617-
for(vehicle_index = 0; vehicle_index < vehicle_names.length; vehicle_index++) {
617+
for(vehicle_index = 0, iii = vehicle_names.length; vehicle_index < iii; vehicle_index++) {
618618
if(vehicle_names[vehicle_index].search(r) != -1) break;
619619
}
620620
if(vehicle_index != vehicle_names.length
@@ -633,7 +633,7 @@ function showSignals(index, position) {
633633

634634
function hideSignals() {
635635
if(!signals) return;
636-
for(var i = 0; i < signals.length; i++) {
636+
for(var i = 0, ii = signals.length; i <<i; i++) {
637637
map.removeOverlay(signals[i]);
638638
}
639639
signals = null;
@@ -664,11 +664,11 @@ function mouseVehiclePos(latlng) {
664664
}
665665
var vehicle_index = -1, pos, best_dist = 9999999999;
666666
var p1 = map.fromLatLngToDivPixel(latlng);
667-
for(var v = 0; v < vehicles.length; v++) {
667+
for(var v = 0, vv = vehicles.length; v < vv; v++) {
668668
if(!vehicles[v].path_enabled) {
669669
continue;
670670
}
671-
for(var i = 0; i < vehicles[v].line.length; i++) { // note: skip the last pos
671+
for(var i = 0, ii =vehicles[v].line.length; i < ii; i++) { // note: skip the last pos
672672
var p2 = map.fromLatLngToDivPixel(vehicles[v].line[i]);
673673
var dist = Math.sqrt(Math.pow(p2.x-p1.x, 2) + Math.pow(p2.y-p1.y,2));
674674
if(dist < best_dist) {
@@ -764,7 +764,7 @@ function redrawPrediction(vehicle_index) {
764764
var max_alt = -99999;
765765
var latlng_burst = null;
766766
var burst_index = 0;
767-
for(var i = 0; i < data.length; i++) {
767+
for(var i = 0, ii = data.length; i <ii; i++) {
768768
latlng = new GLatLng(data[i].lat, data[i].lon);
769769
line.push(latlng);
770770
if(parseFloat(data[i].alt) > max_alt) {
@@ -856,7 +856,7 @@ function findPosition(positions, other) {
856856
if (!sequence || sequence == '' || sequence == 0) {
857857
return -1;
858858
}
859-
for(var i = 0 ; i < positions.length; i++) {
859+
for(var i = 0, ii = positions.length; i < ii; i++) {
860860
if(positions[i].sequence != sequence) continue;
861861
if(positions[i].gps_lat != other.gps_lat) continue;
862862
if(positions[i].gps_lon != other.gps_lon) continue;
@@ -869,8 +869,8 @@ function findPosition(positions, other) {
869869

870870

871871
function insertPosition(vehicle, position) {
872-
var i;
873-
for(i = vehicle.positions.length-1; i >= -1; i--) {
872+
var i = vehicle.positions.length;
873+
while(i--) {
874874
if(i >= 0 && convert_time(vehicle.positions[i].server_time) < convert_time(position.server_time)) {
875875
break;
876876
}
@@ -1151,7 +1151,7 @@ function updateReceiverMarker(receiver) {
11511151
}
11521152

11531153
function updateReceivers(r) {
1154-
for(var i = 0; i < r.length; i++) {
1154+
for(var i = 0, ii = r.length; i < ii; i++) {
11551155
var lat = parseFloat(r[i].lat);
11561156
var lon = parseFloat(r[i].lon);
11571157
if(lat < -90 || lat > 90 || lon < -180 || lon > 180) continue;
@@ -1173,7 +1173,7 @@ function updateReceivers(r) {
11731173
}
11741174

11751175
function updatePredictions(r) {
1176-
for(var i = 0; i < r.length; i++) {
1176+
for(var i = 0, ii = r.length; i < ii; i++) {
11771177
var vehicle_index = $.inArray(r[i].vehicle, vehicle_names);
11781178
if(vehicle_index != -1) {
11791179
if(vehicles[vehicle_index].prediction && vehicles[vehicle_index].prediction.time == r[i].time) {

0 commit comments

Comments
 (0)