2017-08-21 16 views
13

Tôi không phải là người phần cứng, nhưng tôi biết rằng Visual Studio trong yêu cầu phiên bản 64 bit bị Microsoft từ chối nói rằng phiên bản 64 bit sẽ không có hiệu suất tốt.Lợi ích định lượng của 64 bit đối với Visual Studio Code trên 32 bit

Hai sự khác biệt đáng chú ý giữa hai điều mà tôi cảm thấy rõ ràng là cơ sở mã. Một người đã bắt đầu cuộc sống vào năm 1997, người ta nghĩ rằng điều đó có nghĩa là hành lý nhiều hơn ở phía Visual Studio, ít cơ hội để có kiến ​​trúc và mã ứng dụng rất hiện đại và có thể làm cho nó khó hơn và có thể được xây dựng để thực hiện trên 32 bit và một số lý do là không thích hợp cho 64 bit? Tôi không biết.

Visual Studio Code mặt khác là một ứng dụng điện tử hiện đại có nghĩa là nó khá nhiều chỉ cần biên dịch HTML. CSS và JavaScript. Tôi đang đặt cược làm cho một phiên bản của Visual Studio Code có ít trong cách cản trở và mặc dù hiệu suất có thể không phải là một cái gì đó thực sự đáng chú ý, tại sao không?

P.S.

Tôi vẫn muốn hiểu những lĩnh vực nào có thể được cải thiện về hiệu suất và nếu cải tiến đó không đáng kể đối với nhà phát triển. Bất kỳ thông tin bổ sung hoặc sự thật thú vị bạn có thể biết sẽ là tuyệt vời Tôi muốn có càng nhiều thông tin càng tốt và tôi sẽ cập nhật các câu hỏi với bất kỳ sự thật khó khăn tôi phát hiện ra mà không được đề cập.

+2

Tôi nghĩ rằng cần phải đề cập đến bài đăng trên blog này, tôi cho rằng bạn đã đọc: https://blogs.msdn.microsoft.com/ricom/2016/01/04/64-bit-visual-studio-the-pro- 64-argument/ –

+0

Tôi tìm thấy https://www.infoq.com/news/2016/01/VS-64-bit này hữu ích hơn một chút và nhiều thông tin hơn và tôi tin rằng sẽ đưa ra một câu trả lời tuyệt vời cho câu hỏi ban đầu. – Stephan

Trả lời

6

Sự tồn tại của 64-bit Visual Studio Mã phần lớn là một tác dụng phụ của một thực tế là Node.js/Chromium runtimes dựa trên sự hỗ trợ Electron cả 32 và 64-bit kiến ​​trúc, không phải là một chính mục tiêu thiết kế cho ứng dụng.

Sau khi tìm kiếm ngắn gọn qua VSCode repository, tôi không thể tìm thấy bất kỳ mục nào khai thác rõ ràng lợi ích của bộ xử lý 64 bit, điều này không đáng ngạc nhiên vì thời gian chạy JavaScript tóm tắt các chi tiết cấp thấp này từ mã. Với điều này, bất kỳ lợi ích nào chúng tôi có thể nhận thấy khi chạy phiên bản 64 bit của trình chỉnh sửa cũng tương tự như những gì chúng tôi thấy từ việc sử dụng trình duyệt web 64 bit. Đáng kể nhất, phiên bản 64 bit có thể giải quyết nhiều hơn 4 GB bộ nhớ, có thể quan trọng nếu chúng tôi cần mở nhiều tệp cùng lúc hoặc các tệp rất lớn hoặc nếu chúng tôi sử dụng nhiều tiện ích mở rộng nặng. Vì vậy, — quan trọng nhất đối với chúng tôi, nhà phát triển — trình chỉnh sửa sẽ không hết bộ nhớ khi bị lạm dụng.

Trong khi điều này có vẻ như chính sách bảo hiểm đáng ký, ngay cả khi chúng tôi không bao giờ đạt đến giới hạn bộ nhớ đó, hãy nhớ rằng các ứng dụng 64 bit thường tiêu thụ nhiều bộ nhớ hơn các đối tác 32 bit của chúng. Chúng tôi có thể muốn chọn phiên bản 32 bit nếu chúng tôi mong muốn có một bộ nhớ nhỏ hơn. Hầu hết các nhà phát triển không bao giờ có thể nhấn bức tường 4 GB đó.

Trong trường hợp hiếm hoi, chúng tôi có thể cần chọn phiên bản 32 bit hoặc 64 bit nếu chúng tôi sử dụng một tiện ích mở rộng bao bọc mã gốc như một DLL được xây dựng cho một kiến ​​trúc cụ thể.

Bất kỳ hậu quả nào khác, tích cực hay tiêu cực mà chúng tôi gặp phải khi sử dụng phiên bản VSCode 64 bit phụ thuộc vào phiên bản của các thành phần thời gian chạy cơ bản của Electron và hệ điều hành mà chúng chạy. Những đặc điểm này thay đổi liên tục khi tiến triển phát triển. Vì lý do này, rất khó để nói một cách tổng quát rằng các phiên bản 32 bit hoặc 64 bit tốt hơn phiên bản khác.

Ví dụ: công cụ JavaScript V8 đã vô hiệu hoá một số tối ưu hóa trên các hệ thống 64 bit được bật ngày hôm nay. Một số tối ưu hóa chỉ khả dụng khi hệ điều hành cung cấp các tiện ích cho chúng.

Phiên bản 64 bit trong tương lai trên Windows có thể tận dụng lợi thế của address space layout randomization để tăng cường bảo mật (nhiều bit hơn trong không gian địa chỉ làm tăng entropy).

Đối với hầu hết người dùng, các sắc thái này thực sự không quan trọng. Chọn một phiên bản phù hợp với kiến ​​trúc của hệ thống của bạn và chỉ đặt trước khi bạn gặp sự cố. Các cập nhật cho trình chỉnh sửa sẽ tiếp tục mang đến các tối ưu hóa cho các thành phần cơ bản của nó. Nếu sử dụng tài nguyên là mối quan tâm lớn, bạn có thể không muốn sử dụng trình soạn thảo GUI ở vị trí đầu tiên.

5

Tôi chưa làm việc nhiều trên các cửa sổ nhưng đã tương tác với các bộ xử lý kích thước x86, x64 và ARM (Cả hai bit 32 bit và 64 bit). Dựa trên kinh nghiệm của tôi, trước khi viết mã theo định dạng 64 bit, chúng tôi nghĩ: Chúng tôi có thực sự cần hướng dẫn kích thước 64 bit không? Nếu hoạt động của chúng tôi có thể được thực hiện trong vòng 32 bit, thì tại sao chúng ta cần thêm 32 bit nữa?

Hãy nghĩ về điều này như sau: Bạn có bộ xử lý có địa chỉ 64 bit và bus dữ liệu 64 bit và thanh ghi kích thước 64 bit. Hầu như tất cả các hướng dẫn của chương trình của bạn yêu cầu tối đa 32 bit. Bạn sẽ làm gì? Vâng, tôi nghĩ có hai cách bây giờ:

  1. Tạo phiên bản 64 bit của chương trình và chạy tất cả hướng dẫn 32 bit trên bộ xử lý 64 bit của bạn. (Lãng phí 32 bit hoặc bộ xử lý của bạn trong mỗi chu kỳ lệnh và điền vào Bộ đếm chương trình với địa chỉ 4 byte phía trước). Ứng dụng/chương trình của bạn có thể đã được thực thi trong 256 MB RAM hiện yêu cầu 512 MB, do đó các chương trình hoặc quy trình khác chạy trên RAM sẽ bị ảnh hưởng.

  2. Cách thứ hai là, Giữ định dạng chương trình thành 32 bit và kết hợp 2 lệnh 32 bit để được đẩy vào bộ xử lý 64 bit của bạn để thực thi.

Rõ ràng, cách tiếp cận thứ hai sẽ chạy nhanh hơn với cùng tài nguyên.

Nhưng có, nếu chương trình của bạn chứa nhiều hướng dẫn có kích thước thực sự 64 bit; Ví dụ: Xử lý video 4K (Tốt hơn trên bộ xử lý 64 bit với bộ hướng dẫn 64 bit) hoặc thực hiện Thao tác nổi điểm với độ chính xác tới 15 chữ số thập phân, v.v. Sau đó, tốt hơn là tạo tệp chương trình 64 bit.

Câu chuyện dài trong ngắn hạn: Cố gắng viết phần mềm nhỏ gọn và tận dụng phần cứng càng nhiều càng tốt.

Cho đến giờ, những gì tôi đã đọc Here, HereHere; Tôi đã biết rằng hầu hết các thành phần của VS chỉ yêu cầu kích thước lệnh 32 bit.

Hy vọng nó sẽ giải thích.

Cảm ơn

+1

Ngoài việc không thực sự trả lời câu hỏi, câu trả lời này lan truyền thông tin sai lạc (tôi không biết ai nghĩ nó đáng giá tiền thưởng): 64 vs 32 bit trên x86 (và tôi tin điều tương tự cũng đúng đối với ARM) ít có liên quan kích thước lệnh (các lệnh x86 có chiều dài biến đổi) - đó là kích thước con trỏ thay đổi. Và cho đến nay tôi vẫn chưa thấy một ứng dụng duy nhất mà bộ nhớ tiêu thụ hoặc chiều dài hướng dẫn avarage khi biên dịch cho x64 là bất cứ nơi nào gần gấp đôi của những gì bạn nhận được trong chế độ x86. (Và đừng bắt đầu tôi về phần dấu phẩy động) – MikeMB

Các vấn đề liên quan