mapbox cost too much cpu
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 20/100
- Type d'issue
- Bug
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- java
- Domaine
- performance
Piste de recherche
Commencez par la méthode inRing fournie et la liste PointCustom utilisée pour plus de 100 000 villes ; inspectez son chemin d’appel et profilez la charge de travail à 100 requêtes par seconde. Définissez l’achèvement comme le maintien des résultats de localisation tout en démontrant une utilisation moindre du CPU sous une charge comparable à celle de la production.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
I overwrite the code like here:
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;
}
but i run it on the production.and find that the cpu of server cost too much ,200% CPU is consumed frequently when send 100 requests per second.
My demand is to locate in the longitude and latitude data of 100000 cities through longitude and latitude。
And the args of varible : pointCustomList storage 100000+ CityInfo object.
What problem can reduce the cost of CPU?
- Langage dominant
- Java
- Étoiles
- 438
- Forks
- 117
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de mapbox/mapbox-java
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
mapbox/mapbox-java#1640 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
mapbox/mapbox-java#1635 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
mapbox/mapbox-java#1619 ·
-
Mapbox-java incompatible with gson 2.13.0 and up - call to internal GSON classes that were renamed Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 48/100
mapbox/mapbox-java#1614 · 2 commentaires · 1 réaction ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
mapbox/mapbox-java#1612 · 1 réaction ·
Toutes les issues de mapbox/mapbox-java
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
elastic/gradle-plugins#157 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
cryptomator/hub#497 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
johanhaleby/occurrent#1120 ·