Windows พร้อมระบบไฟล์ที่ดีกว่า


14

จากการสังเกตของฉันในฐานะนักพัฒนา Java ที่ทำงานบนเวิร์กสเตชัน Windows NTFS นั้นช้าเมื่อเทียบกับระบบไฟล์ Linux คำถามคือมีอะไรบ้างในไดรเวอร์ NTFS ที่สามารถปรับได้ด้วยตนเองเช่นให้หน่วยความจำแคชมากกว่าหรือไม่ เปิดใช้งานอัลกอริทึมทดลองหรือไม่ หากยังไม่พร้อมใช้งานอาจมีระบบไฟล์อื่นที่สามารถใช้กับ Windows ได้หรืออาจเป็นระบบการค้าที่เร็วกว่า NTFS หรือไม่

เพื่อความชัดเจนฉันไม่ต้องการปรับปรุงความเร็วการรวบรวมสำหรับโครงการ Maven ฉันต้องการได้รับการปรับปรุงโดยรวมสำหรับระบบปฏิบัติการ ฉันรู้สึกว่า NTFS ล้าสมัยและช้านานเมื่อเทียบกับระบบไฟล์ Linux มันทำให้ฉันประหลาดใจว่าระบบปฏิบัติการที่ได้รับความนิยมสูงสุดบนโลกนี้มีระบบไฟล์เพียงระบบเดียวซึ่งยังคงต้องการการจัดเรียงข้อมูลด้วยตนเอง บางทีอาจจะมีเป็นทางเลือก?

ปรับปรุง:นี่คือสิ่งที่ช้าตามการสังเกตของฉัน ฉันกำลังสร้าง / บรรจุโครงการซึ่งหมายถึงการอ่าน / เขียนจำนวนมากบนดิสก์ ระบบการสร้างเป็นข้ามแพลตฟอร์ม (Java, Maven) ดังนั้นฉันสามารถดำเนินการเหมือนกันทุกประการเมื่อบู๊ตกับอูบุนตู

บน Linux งานสร้างของฉันเร็วขึ้นอย่างน้อย 1/3 ดังนั้นคำถามเกี่ยวกับระบบไฟล์ ฉันขอโทษถ้ามันหายไป


7
NTFS ช้าแค่ไหน? คุณวัดความเร็วในการรู้ได้อย่างไรว่าช้ากว่าระบบไฟล์อื่น ๆ สำหรับการทำงานเดียวกัน NTFS เป็นระบบไฟล์ที่ได้รับการสนับสนุนเพียงอย่างเดียว (นอกเหนือจาก FAT ซึ่งมีข้อ จำกัด ) ที่ Windows เองสามารถบูตได้ แต่ฉันเชื่อว่าคุณอาจได้รับไดรเวอร์ระบบไฟล์ ext3 สำหรับพาร์ติชั่นที่ไม่ได้บู๊ต
Mokubai

ใช่โปรดให้ความกระจ่างแก่เราว่า NTFS ช้าอย่างไร
JL

1
แต่คำถามคืออะไร เป็นวิธีที่คุณสามารถเพิ่มความเร็ว NTFS หรือว่า Windows สามารถใช้ระบบไฟล์อื่นได้หรือไม่?
Ivo Flipse

1
@ ivo-flipse: ฉันขอโทษที่ทำให้เกิดความสับสนที่นี่ฉันสนใจที่จะเรียนรู้บางสิ่งเกี่ยวกับคำถามทั้งสอง ชอบไม่มีทางเลือกอื่นที่พิสูจน์แล้วว่าเป็น NTFS บน Windows และถ้าไม่เป็นไปได้หรือไม่ที่จะเพิ่มประสิทธิภาพของ NTFS โดยทั่วไปเช่นให้หน่วยความจำเพิ่มเติมสำหรับแคชหรือเปิดใช้กลไกการทดลองบางอย่างหรือไม่
Yuri Ushakov

1
@ sinni800 นั่นเป็นเพียงขยะขออภัย ในขณะที่ฉันยอมรับว่าในฐานะที่เป็นระบบปฏิบัติการเดสก์ท็อปลีนุกซ์อยู่ไกลจากความสมบูรณ์แบบในฐานะระบบปฏิบัติการเซิร์ฟเวอร์มันดีกว่า Windows สำหรับปริมาณงานเกือบทั้งหมด ไม่มีคำถามถึง 96.6% ของ 1 ล้านเว็บไซต์ที่ใช้ระบบปฏิบัติการคุณภาพเบต้า
mjaggard

คำตอบ:


3

ในขณะที่ฉันชอบที่จะเห็นบางสิ่งบางอย่างเช่น ZFS พร้อมใช้งานสำหรับโฮสต์ Windows, NTFS ไม่ใช่ระบบไฟล์ที่น่ากลัว รองรับคุณสมบัติระบบไฟล์ "ทันสมัย" ส่วนใหญ่ (คุณสมบัติเพิ่มเติม, การทำเจอร์นัล, ACL, คุณตั้งชื่อ) แต่มันถูกขัดขวางโดย Explorer และแอพอื่น ๆ ส่วนใหญ่ที่ไม่รองรับสิ่งเหล่านี้

สิ่งหนึ่งที่จะฆ่าประสิทธิภาพได้อย่างแน่นอนคือมีรายการ "มากเกินไป" ในไดเรกทอรี เมื่อคุณส่งรายการสองพันรายการในไดเรกทอรีเดียวทุกอย่างจะช้าลงในการรวบรวมข้อมูล แท้จริงเครื่องทั้งหมดจะหยุดรอ NTFS เพื่อสร้างหรือลบรายการเมื่อสิ่งนี้เกิดขึ้น

ฉันเคยทำงานกับแอพที่สร้างเอกสารที่ใช้ HTML สำหรับชุดประกอบ. NET มันจะสร้างไฟล์หนึ่งไฟล์ต่อคุณสมบัติเมธอดคลาสเนมสเปซและอื่น ๆ สำหรับแอสเซมบลีขนาดใหญ่เราจะเห็นไฟล์ 20 + k ทั้งหมดถูกทิ้งลงในไดเรกทอรีเดียว เครื่องจะใช้เวลาสองสามชั่วโมงในระหว่างการสร้างบล็อกบน NTFS

ในทางทฤษฎี Windows รองรับปลั๊กอินระบบไฟล์ซึ่งจะทำให้ ZFS ดั้งเดิม ext3 หรืออะไรก็ตาม (แม้แต่ FUSE) ก็เป็นไปได้ ในทางปฏิบัติ APIs นั้นไม่มีเอกสารดังนั้นคุณจะต้องดำเนินการเองโดยสมบูรณ์

ตอนนี้เนื่องจากคุณกำลังพัฒนา Java คุณสามารถติดตั้งระบบปฏิบัติการอื่นบนเครื่องของคุณหรือใช้ VM ที่ด้านบนของ Windows ได้หรือไม่

นอกจากนี้คุณอาจต้องการลองเกณฑ์มาตรฐานระบบไฟล์ที่ไม่ขึ้นกับแพลตฟอร์ม (iozone, bonnie ... อาจมีสิ่งที่ทันสมัยกว่าที่ฉันไม่รู้ด้านบนของหัวของฉันหรือแม้แต่เขียนด้วยภาษาจาวา) เพื่อดูว่ามันเป็นอย่างไร อันที่จริงระบบไฟล์ถือคุณไว้หรือถ้าเป็นอย่างอื่น การเพิ่มประสิทธิภาพก่อนวัยและทุกสิ่งที่ ...


ระบบไฟล์ที่สามารถติดตั้งได้มีการจัดทำเอกสารอย่างน้อยตั้งแต่ปี 2000 การขาดปลั๊กอินมักจะเป็นเรื่องยากและขาดความสนใจ มันยังคงยาก แต่ FUSE และ FSDK พร้อมใช้งานแล้ว
165568

5
  • ปิดการเข้าถึงล่าสุด
  • ปิดชื่อไฟล์สั้น
  • ปิดการลบการแจ้งเตือน
  • ปิดการทำดัชนี
  • ปิดการใช้ journeling
  • ปิดใช้งาน Shadow Copy และเวอร์ชั่นก่อนหน้าและโควต้าและการแบ่งปัน
  • เปิดใช้งานการตรวจสอบการเลี่ยงผ่าน

ฉันเดาว่าโซลูชันที่แท้จริงคือการเขียนระบบการสร้างของคุณใหม่เพื่อที่จะใช้ API ระบบไฟล์ windows ดั้งเดิมแทนการใช้ unix API (fopen ฯลฯ ) ตัวเองภายใต้กรอบการพกพา แต่นั่นจะไม่เกิดขึ้นดังนั้นโดยทั่วไปคุณติดอยู่กับระดับการแสดงที่พวกเขาคิดว่าเป็นที่ยอมรับ

บ่อยครั้งเมื่อใช้ระบบที่ไม่ได้เขียนขึ้นสำหรับ Windows คุณจะพบว่าการสำรวจเส้นทางไดเรกทอรีได้รับการจัดการไม่ดีมากดังนั้นโปรดตรวจสอบให้แน่ใจว่าคุณมีแผนผังไดเรกทอรีที่แบนราบมาก


1
นี่จะเป็นคำตอบที่ดีกว่าถ้าให้ข้อมูลเพิ่มเติม 1. การวัดจำนวนเวลาที่อาจถูกบันทึกสำหรับแต่ละคนและ 2. การเปลี่ยนแปลงเหล่านี้อย่างไร
mjaggard

3

มีระบบไฟล์เดียวที่รองรับระบบปฏิบัติการ Windows ใหม่และเร็วกว่า NTFS มันคือ exFAT มีความเป็นไปได้ที่จะใช้กับไดรฟ์ระบบ แต่ก็ไม่ทราบว่ามันอาจมีภาวะแทรกซ้อนอะไร

คุณสามารถใช้กับพาร์ติชันอื่นได้อย่างแน่นอน มันเร็วกว่าด้วยการอ่าน / เขียนแบบสุ่ม สมบูรณ์แบบสำหรับ SSD เช่น


1
พยายามแค่ตอนนี้และ exFAT ดูเหมือนจะช้าลง สร้างครั้งแรกบน NTFS: 36.083 วินาทีวินาที: 19.884 วินาที สร้างครั้งแรกบน exFAT: 41.160 วินาทีวินาที: 27.291 วินาที
Yuri Ushakov

ฮะ. exFAT เป็นระบบไฟล์อื่นเท่านั้นที่ตอนนี้ได้รับการสนับสนุนโดย Windows และ COULD ในฐานะไดรฟ์ระบบ (มีอยู่ในสิทธิ์) ฉันเห็นการทดสอบครั้งเดียวออนไลน์และมันบอกว่า exFAT เร็วขึ้นด้วยการอ่านแบบสุ่ม
sinni800

เหตุผลที่การทดสอบกล่าวว่า exFAT เร็วขึ้นอาจเป็นเพราะพวกเขาไม่ได้ทดสอบในไดเรกทอรีที่มี> 32768 รายการ นอกจากนี้ Windows เวอร์ชันใหม่อาจช้าลงอีกเนื่องจากการเปลี่ยนแปลงภายใน พระเจ้า (MS) รู้ว่าเกิดอะไรขึ้นในการโทรopendir()(หรือเทียบเท่า)
MattBianco

2

คุณมีโปรแกรมป้องกันไวรัสที่ทำงานอยู่ในการตรวจสอบการเข้าถึง / เขียนสำหรับโฟลเดอร์โครงการหรือไม่?

การคอมไพล์เกี่ยวข้องกับการอ่านและการเขียนไฟล์ขนาดเล็กจำนวนมากอย่างรวดเร็วซึ่งอาจทำให้เครื่องสแกนไวรัสทำงานได้ เพิ่มโฟลเดอร์โปรเจ็กต์ของคุณไปยังรายการโฟลเดอร์ที่แยกและดูว่าจะช่วยปรับปรุงสถานการณ์

บน Linux คุณ (อาจ) ไม่มีซอฟต์แวร์ป้องกันไวรัสใด ๆ ....


Defender ถูกปิด AV กำลังปิด (หรือถอนการติดตั้งอย่างสมบูรณ์แล้วแต่กรณี)
Yuri Ushakov

@Yuri - โอ้ดี
ChrisF
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.