mapbox / mapbox/mapbox-java

mapbox cost too much cpu

Đang mở
#1,086 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
Java
Star
438
Fork
117
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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?

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu với phương thức inRing được cung cấp và danh sách PointCustom được sử dụng cho hơn 100.000 thành phố; kiểm tra đường dẫn gọi của nó và lập hồ sơ tải công việc ở mức 100 yêu cầu mỗi giây. Xác định việc hoàn thành là duy trì các kết quả vị trí, đồng thời chứng minh mức sử dụng CPU thấp hơn dưới tải tương đương với môi trường production.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java
Lĩnh vực
performance
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
20/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.