Я перезаписываю код, как здесь:
public static boolean inRing(PointCustom pt, List<PointCustom> pointCustomList) {
boolean isInside = false;
for (int i = 0, j = pointCustomList.size() - 1; i < pointCustomList.size(); j = i++) {
double xi = pointCustomList.get(i).getLongitude();
double yi = pointCustomList.get(i).getLatitude();
double xj = pointCustomList.get(j).getLongitude();
double yj = pointCustomList.get(j).getLatitude();
boolean intersect = (
(yi > pt.getLatitude()) != (yj > pt.getLatitude()))
&& (pt.getLongitude() < (xj - xi) * (pt.getLatitude() - yi) / (yj - yi) + xi);
if (intersect) {
isInside = !isInside;
}
}
return isInside;
}
, но я запускаю его на рабочем месте и обнаруживаю, что процессор сервера стоит слишком дорого, 200% ЦП часто используется при отправке 100 запросов в секунду,Мое требование - найти данные о долготе и широте 100000 городов по долготе и широте the И аргументы переменной: pointCustomList storage 100000+ CityInfo object. Какая проблема может снизить стоимость процессора?