Tôi có thể tăng tốc ngã ba của Cygwin không?


15

Tôi tình cờ thấy một bài viết thảo luận về tốc độ giả mạo trong Cygwin, đưa ra 'tốc độ ngã ba' dự kiến ​​trong Windows XP khoảng 30-50 mỗi giây ( liên kết )

Tôi đã có một bộ đôi Core 2 (1.79GHz) mà tôi mong muốn có được kết quả tương đương, nhưng nó chỉ quản lý khoảng 8 dĩa mỗi giây (và đôi khi ít hơn rất nhiều):

$ while (true); do date --utc; done | uniq -c
      5 Wed Apr 21 12:38:10 UTC 2010
      6 Wed Apr 21 12:38:11 UTC 2010
      1 Wed Apr 21 12:38:12 UTC 2010
      1 Wed Apr 21 12:38:13 UTC 2010
      8 Wed Apr 21 12:38:14 UTC 2010
      8 Wed Apr 21 12:38:15 UTC 2010
      6 Wed Apr 21 12:38:16 UTC 2010
      1 Wed Apr 21 12:38:18 UTC 2010
      9 Wed Apr 21 12:38:19 UTC 2010

Bạn có thể đề nghị bất cứ điều gì tôi có thể làm để tăng tốc mọi thứ không? Máy này hoạt động chậm hơn rất nhiều trong Cygwin hơn những người khác tôi đã sử dụng trước đó thực sự chậm hơn rất nhiều.

Cập nhật

Hãy để tôi biện minh cho câu hỏi của mình: Tôi không tin rằng việc có một ngã ba nhanh hơn sẽ làm cho cuộc sống của tôi tốt hơn, nhưng tôi tin rằng điểm chuẩn này là một đại diện tốt cho các vấn đề về hiệu suất mà tôi gặp phải do sử dụng bình thường các thực thi bên ngoài để tính giá trị. Tôi thấy tôi đã tăng tốc đáng chú ý trên Cygwin bằng cách duyệt qua shell của mình để khởi động các tập lệnh và hoàn thành bash và cố gắng thay thế các lệnh bên ngoài bằng các lệnh bên trong; trên Linux đây không phải là một vấn đề. Tuy nhiên, thông thường, điều này là không thể, và PC của tôi hiện đang mất ~ 14 giây để khởi động hệ vỏ với bộ đệm ấm và không tải.


1
Cygwin sẽ luôn chậm, chậm hơn. Ngay cả VirtualBox / VMWare cũng sẽ cho hiệu năng nhanh hơn hoặc nếu bạn cần môi trường dev, hãy sử dụng msys. Nhưng điều này ... không biết .. không bao giờ thực sự tìm thấy cygwin có thể sử dụng được.
Apache

+1 cho điểm chuẩn ngã ba đẹp, đơn giản! Chỉ cần chạy nó trên VPS Linux 5 đô la / tháng để so sánh với máy tính xách tay Windows i7 của tôi và VPS đạt điểm cao hơn 30 lần.
Mark K Cowan

Câu trả lời:


2

Điều này không có gì để làm với ngã ba chậm.

Tôi đã thấy Cygwin chạy chó chậm khi thư mục "home" của windows nằm trên ổ đĩa mạng. Mỗi một lệnh sẽ tìm kiếm ở đó các nhị phân làm mọi thứ chậm lại rất nhiều.

xem nếu

while (true); do /bin/date --utc; done | uniq -c

nhanh hơn, nếu vậy, đó có lẽ là vấn đề của bạn

mặt khác, hãy thử chạy bash qua strace / ltrace (nếu chúng thậm chí hoạt động trên cygwin) và xem nó đang làm gì khi mất 1 giây để thực hiện ngày.


1
Thật không may, mã hóa cứng các đường dẫn làm cho không có sự khác biệt đáng kể. strace không hoạt động ở Cygwin, nhưng không có gì nhảy ra khi tôi nhìn vào dấu vết.
Andrew Aylett

1

Tôi sợ rằng bạn không thể làm gì nhiều về điều này.

Windows không có một fork()tòa nhà cao nguyên bản nên Cygwin phải mô phỏng điều này. Việc thực hiện thi đua này là rất không hiệu quả mặc dù. (Xem Câu hỏi thường gặp của Cygwin )

MSYS2, thường được sử dụng trong các ứng dụng mà người ta muốn có một môi trường dòng lệnh giống như Linux trên các cửa sổ, dựa trên Cygwin, đó là lý do tại sao nó cũng bị ảnh hưởng bởi điều này.

Điều đó thực sự rất tệ, rằng fork()trên Windows chậm hơn ít nhất một bậc so với trên Linux

msys2bash-windows-box$ time { date; }
Sa, 24. Feb 2018 16:51:44

real    0m0,046s
user    0m0,000s
sys     0m0,000s

msys2bash-windows-box$ while (true); do /bin/date --utc; done | uniq -c
     13 Sa, 24. Feb 2018 15:57:18
     17 Sa, 24. Feb 2018 15:57:19
     16 Sa, 24. Feb 2018 15:57:20


bash-linux-box$ time { date; }
Sat Feb 24 15:51:54 UTC 2018

real    0m0.002s
user    0m0.000s
sys     0m0.000s

bash-linux-box$ while (true); do date --utc; done | uniq -c
    211 Sat Feb 24 15:56:35 UTC 2018
    286 Sat Feb 24 15:56:36 UTC 2018
    260 Sat Feb 24 15:56:37 UTC 2018

Ví dụ trên cho thấy sự khác biệt giữa hộp Windows 10 Pro i5-2500k @ 4GHz, RAM 32GiB so với hộp VPS 1 lõi, RAM 1GiB yếu


0

Bạn không thấy dĩa; bạn đang xem fork, exec, cuộc gọi hệ thống để đọc thời gian trong ngày, định dạng và chuyển đổi đầu ra. Không đề cập đến bất cứ điều gì khác là thời gian chia sẻ song song.

Trên cơ sở nào bạn nói các máy khác "thực sự đã chậm hơn"? Có rất nhiều điều đóng góp vào tốc độ thực tế của máy tính và nhận thức của người dùng về tốc độ máy tính. Bạn đang làm gì trong khi dĩa / giây là thước đo hiệu suất tốt? Tốc độ bộ nhớ, kiến ​​trúc và số lượng là gì? Tốc độ đĩa I / O và bộ đệm?

Theo bạn, bạn sẽ làm được bao nhiêu dĩa / giây: Core i7 chạy Vista với 512MB RAM hoặc Celeron chạy Linux tối thiểu với 2 GB?


@ mpez0: Vui lòng xem thông báo cập nhật của tôi. Để trả lời các câu hỏi của bạn một cách cụ thể, cơ sở của tôi để nói rằng chúng chậm hơn là chúng có kiến ​​trúc cũ hơn với tốc độ xung nhịp chậm hơn, RAM ít hơn (và chậm hơn) và đĩa cũ hơn, chậm hơn, nhưng vẫn là XP. Linux hầu như sẽ luôn nhanh hơn trong việc giả mạo, bởi vì nó sử dụng mô hình forking trong kernel mà Windows không có. Tôi có điểm P3 đạt ~ 60 trên điểm chuẩn đó :).
Andrew Aylett
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.