Xeons kép sẽ cải thiện thời gian xây dựng Android Studio?


7

Tôi là một nhà phát triển Android và dành nhiều thời gian chờ đợi, vì vậy tôi đã bắt đầu xem xét thiết lập Xeon kép.

Tôi biết rằng, ví dụ, đối với giải pháp kết xuất 3D - các lõi bổ sung cải thiện tốc độ khá tuyến tính, vì vậy câu hỏi của tôi là - thời gian xây dựng Android Studio có giảm như vậy không? Và nếu không tuyến tính thì ít nhất là đáng chú ý để làm cho việc nâng cấp đáng giá?

Tôi biết AS có hỗ trợ đa lõi, nhưng chỉ muốn đảm bảo rằng nó sẽ sử dụng tất cả 20 lõi giống như 4 nhân trước khi tôi ra ngoài và tiêu tiền.

Sẽ rất tuyệt khi được nghe từ một người có kinh nghiệm so sánh các thiết lập Xeons kép với i7 cho các bản dựng dự án tương tự, nhưng bất kỳ thông tin nào cũng có ích!

-

XIN LƯU Ý:

Trước khi bạn khuyên bạn nên xem xét các cách khác để cải thiện tốc độ - hãy để tôi đảm bảo với bạn rằng tôi đã thử mọi thứ - SSD nhanh, nhiều RAM, tất cả các tùy chọn Gradle và IDE có thể, trừu tượng hóa một số phụ thuộc để xây dựng cho bản phát hành chỉ để tránh đa chiều , phiên bản AS mới nhất, Chạy ngay lập tức / JRebel, v.v.


Nó sẽ sử dụng tất cả các lõi thực sự độc đáo. Một khi bạn đang cố gắng hết sức, các lõi HT ảo sẽ không mang lại nhiều lợi ích thiết thực. Một điều bạn có thể thử là tạo một VM cho phép số lượng CPU bằng với số lượng lõi thực. Điều đó sẽ cho phép sử dụng nhiều nhưng vẫn cho phép bạn làm những việc khác ngoài VM khi quá trình biên dịch tiến triển. [Dựa trên quan sát thực nghiệm bằng cách sử dụng 2 Xeons 6 lõi & autobuild / cmake / Xcode trong & ngoài Parallels VM]
Tetsujin

Câu trả lời:


15

Vì vậy, tôi đã phải tìm ra điều này một cách khó khăn. Trong trường hợp của tôi, với dự án và phần cứng của tôi, nó không sử dụng tất cả các lõi. Tôi đã thực hiện một số điểm chuẩn cơ bản với các phần cứng khác nhau mà tôi có, nhưng hãy sử dụng chúng với một hạt muối - bạn nên hiểu rằng các yêu cầu và thiết lập có thể ảnh hưởng rất lớn đến kết quả.

Chi tiết kiểm tra

Vì vậy, đây là phần cứng tôi có:

  • i7 6700k (4 lõi)
  • i7 3770k (4 lõi)
  • 2 x Xeon E2650 v4 (24 lõi)

Tất cả chạy ở đồng hồ cơ sở với siêu phân luồng. Và ổ SSD:

  • Ổ cứng cơ bản Samsung 840 EVO 240GB
  • Ổ cứng ECO2 SSD 240GB
  • Ổ cứng Samsung SM951 NVMe 250GB

Mỗi ổ đĩa đã cài đặt Windows 10, vì vậy tôi đã thử kiểm tra hai điều - tốc độ bộ xử lý và tốc độ ổ đĩa bằng cách hoán đổi ổ đĩa giữa các máy tính.

Xeons và 6700k có DDR4 Ram và 3770k có DDR3.

Đọc biểu đồ từ dưới lên:

nhập mô tả hình ảnh ở đây

Vì vậy, quá trình, không khoa học lắm, liên quan đến việc lặp lại các nhiệm vụ một vài lần và sau đó lấy mức trung bình của chúng.

Xây dựng lại sau khi dọn dẹp: Xây dựng -> Dự án sạch, Xây dựng -> Xây dựng lại dự án

Xây dựng lại: Xây dựng -> Dự án xây dựng lại

Khởi chạy khi được xây dựng: Khởi chạy và ghi chú thời gian phân loại khi khởi chạy lần đầu tiên sau khi xây dựng lại

Khởi chạy lại: Tiếp tục khởi chạy mà không thay đổi đối với daemon lớp ấm

Thay đổi một bản ghi: Thay đổi chuỗi bên trong Log.v của Java và xây dựng lại

Với cài đặt không thay đổi: Thời gian từ khi nhấn nút chạy đến mở trên màn hình

Thời gian khởi chạy giả lập: Thời gian trên trừ đi thời gian xây dựng Gradle

Các kết luận cho tôi là:

  1. SSD nhanh hơn làm mất vài giây
  2. Hiện tại, người ta nên gắn bó với CPU lõi đơn nhanh nhất

Hy vọng nó sẽ giúp được ai đó!

PS đã thử điểm chuẩn Xcode xây dựng trên cùng một phần cứng - khá giống câu chuyện


1
Dự án của bạn lớn như thế nào? Bạn có bao nhiêu lớp / phương thức? Có bao nhiêu thư viện để bạn kéo vào? Cấu trúc là gì (rất nhiều mô-đun nhỏ, monolyth)? Có bao nhiêu mô-đun đã được xây dựng lại? Được thực thi song song? Gradle nhận được bao nhiêu bộ nhớ từ hệ thống?
TWiStErRob

2

Có thêm một tùy chọn để tăng tốc độ xây dựng: khi bạn biến ứng dụng thành mô-đun, nó sẽ xây dựng không đồng bộ, vì vậy mỗi mô-đun sẽ lấy lõi của CPU.

Và một điều nữa. Tâm trí thư viện của bạn. Ví dụ: trong hầu hết các trường hợp, bạn không cần toàn bộ thư viện hỗ trợ của google, loại trừ các phần không sử dụng hoặc chỉ cần nhập.

Và một điều nữa. Tôi không biết hệ điều hành ảnh hưởng đến tốc độ xây dựng như thế nào, nhưng tôi nghĩ nó bằng cách nào đó. Khi tôi sử dụng Linux vs Windows, việc xây dựng dự án sẽ nhanh hơn nhiều.


Cảm ơn. Chỉ cần tìm thấy một bài viết hay về các mô-đun: Medium.freecodecamp.org/ cũng sẽ dùng thử Linux! Re thư viện, tôi thậm chí còn trừu tượng một số cho các bản dựng gỡ lỗi .. Phân tích, theo dõi lỗi, công cụ Google không thường xuyên cần thiết, v.v.
Alexandre G

1
Tôi có thể xác nhận rằng trong thời gian xây dựng chung là trên linux / macos nhanh hơn 10-20% so với trên Windows (Tôi đã thử nghiệm trên cùng một phần cứng)
Igor Wojda

2

Tôi đã thử đo tốc độ của Android Studio 3.1.4 trên cùng một phần cứng: Macbook Pro 2011, RAM 4Gb, SSD 240GB Samsung, Core i5 2.4Ghz. Tôi đã cài đặt trên máy này 3 hệ điều hành khác nhau: Windows 10, MacOS Hight Sierra 10.13, Ubuntu 18.04. Thời gian xây dựng Avarage (lệnh chạy: gradlew clean build, gradlew clean assemblybleRelease) trên MacOS / Ubuntu nhanh hơn khoảng 30% so với trên Windows.

Trên một máy làm việc khác của tôi: Core i5 3.0 Ghz 7400, RAM 16Gb, SSD 250Gb. Thời gian xây dựng mất 4,34 phút trên máy Windows 10. Cùng một dự án trên bộ xử lý chậm hơn một chút, nhưng với cùng RAM và SSD và nó đang chạy Ubuntu 16.04, thời gian xây dựng nhanh hơn gấp hai lần !! Chà, tôi đã bị sốc với kết quả, nhưng tôi vẫn chọn Windows làm máy phát triển, vì tôi cảm thấy thoải mái hơn nhiều khi sử dụng bàn phím và sotfware thoải mái và có thể sử dụng so với trên các hệ thống như Unix. Và ngay cả khi tôi phải chọn giữa MacOS và Ubuntu - mac thực sự dễ dàng hơn nhiều để thiết lập mọi thứ và Ubuntu quá phức tạp để sử dụng cho người bình thường. Choise là tùy thuộc vào bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.