2 คะแนน โดย GN⁺ 2026-01-06 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เอนจินบล็อกโฆษณาที่พัฒนาด้วย Rust ถูกปรับโฉมครั้งใหญ่ ทำให้การใช้หน่วยความจำ ลดลง 75%
  • โครงสร้างใหม่ใช้ ฟอร์แมต FlatBuffers เพื่อเก็บตัวกรองพื้นฐานราว 100,000 รายการ ในรูปแบบ ไบนารีแบบ zero-copy
  • ส่งผลให้ ทุกแพลตฟอร์ม (เดสก์ท็อป·iOS·Android) ลดการใช้หน่วยความจำได้โดยพื้นฐานราว 45MB
  • นอกจากนี้ยังมีการปรับแต่งประสิทธิภาพหลายด้าน เช่น การจัดการหน่วยความจำ·ความเร็วในการแมตช์·การแชร์ทรัพยากร·ประสิทธิภาพการจัดเก็บ
  • ด้วย โครงสร้างเอนจินเนทีฟที่ไม่ถูกจำกัดโดย Manifest V3 จึงช่วยเสริมทั้งประสิทธิภาพของเบราว์เซอร์และการปกป้องความเป็นส่วนตัวไปพร้อมกัน

ภาพรวมการปรับปรุงเอนจินบล็อกโฆษณาของ Brave

  • Brave ปรับโฉม เอนจิน adblock ที่พัฒนาด้วย Rust (adblock-rust) ใหม่ทั้งหมด จนลดการใช้หน่วยความจำได้ 75%
    • การปรับปรุงนี้ช่วยประหยัดหน่วยความจำได้โดยพื้นฐานราว 45MB บน ทุกแพลตฟอร์ม (Android, iOS, เดสก์ท็อป)
    • หากใช้รายการตัวกรองเพิ่มเติม ก็จะลดได้มากยิ่งขึ้น
  • เอนจินที่ปรับปรุงแล้วถูกนำมาใช้ใน Brave v1.85 และมีแผนเพิ่มการปรับแต่งเพิ่มเติมใน v1.86
  • จากภาพเปรียบเทียบหน้าจอพบว่าในเวอร์ชัน v1.79.118 → v1.85.118 การใช้หน่วยความจำลดลงจาก 162MB → 104MB

การเปลี่ยนไปใช้โครงสร้างบนพื้นฐาน FlatBuffers

  • Brave รีแฟกเตอร์เอนจินให้ทำงานบนพื้นฐาน FlatBuffers ตามที่ประกาศไว้ในเดือนมิถุนายนและตุลาคม 2025
    • FlatBuffers เป็น ฟอร์แมตการจัดเก็บที่กะทัดรัดและมีประสิทธิภาพ ซึ่งมาแทนโครงสร้างข้อมูล Rust แบบใช้ heap เดิม เช่น Vec, HashMap, struct
    • มีการแปลง ตัวกรองบล็อกโฆษณาราว 100,000 รายการ เป็น ฟอร์แมตไบนารีแบบ zero-copy เพื่อเพิ่มประสิทธิภาพการใช้หน่วยความจำให้สูงสุด

รายการการปรับแต่งประสิทธิภาพโดยละเอียด

  • ปรับปรุงการจัดการหน่วยความจำ: ใช้เวกเตอร์แบบจัดสรรบนสแตกเพื่อลดการจัดสรรหน่วยความจำ 19% และลดเวลาบิลด์ 15%
  • เพิ่มความเร็วในการแมตช์: แยกโทเค็นของแพตเทิร์น regular expression ที่ใช้ร่วมกัน ทำให้ประสิทธิภาพการแมตช์ตัวกรอง ดีขึ้น 13%
  • การแชร์ทรัพยากร: แชร์ทรัพยากรระหว่างอินสแตนซ์ของเอนจิน adblock หลายตัว ช่วยประหยัดได้ ราว 2MB บนเดสก์ท็อป
  • ประสิทธิภาพการจัดเก็บ: ปรับแต่งหน่วยความจำสำหรับจัดเก็บทรัพยากรภายใน 30%

ประสิทธิภาพของเบราว์เซอร์และข้อได้เปรียบเชิงโครงสร้าง

  • การลดหน่วยความจำได้มากกว่า 45MB ถือเป็น ข้อได้เปรียบสำคัญสำหรับผู้ใช้มือถือและฮาร์ดแวร์รุ่นเก่า
  • Brave ปรับปรุง ประสิทธิภาพการท่องเว็บผ่านการบล็อกโฆษณาและตัวติดตาม อยู่แล้ว และการปรับโฉมครั้งนี้ยังทำให้ฟีเจอร์ปกป้องในตัว มีขนาดเบาลง
  • เอนจินบล็อกโฆษณาของ Brave เป็น โครงสร้างเนทีฟที่ฝังอยู่ในเบราว์เซอร์ ดังนั้น
    • ต่างจากตัวบล็อกแบบส่วนขยาย เพราะไม่ถูกจำกัดจาก API ของเบราว์เซอร์หรือผลกระทบจาก sandboxing
    • ดังนั้นจึง ไม่ได้รับผลกระทบจากการเปลี่ยนแปลงของ Manifest V3

ความหมายเชิงเทคนิคและเชิงองค์กร

  • การปรับปรุงประสิทธิภาพครั้งนี้เป็นผลจากงานวิศวกรรมที่ดำเนินต่อเนื่องหลายเดือนผ่าน ความร่วมมือระหว่างทีมประสิทธิภาพและทีมความเป็นส่วนตัว
  • Brave ใช้สิ่งนี้เพื่อ ยกระดับประสิทธิภาพของเบราว์เซอร์อย่างมาก และ
    มอบฟีเจอร์ปกป้องความเป็นส่วนตัวระดับสูงต่อไปให้กับ ผู้ใช้มากกว่า 100 ล้านคน

1 ความคิดเห็น

 
GN⁺ 2026-01-06
ความคิดเห็นจาก Hacker News
  • เอนจินบล็อกโฆษณา ของ Brave เป็นตัวอย่างที่ดีของโอเพนซอร์สที่เขียนด้วย Rust
    ใช้ crate ของ Servo สำหรับ CSS parser และการประเมิน selector และตัวมันเองก็เผยแพร่บน crates.io ด้วย จึงนำไปใช้ต่อในโปรเจกต์อื่นได้ง่าย

    • ถ้าอย่างนั้น Brave ก็เหมือนมี เอนจิน CSS อยู่สองตัว ใช่ไหม — ตัวหนึ่งไว้เรนเดอร์ อีกตัวไว้บล็อก เลยสงสัยเรื่องนี้
    • กังวลว่าอาจมีความเสี่ยงด้าน supply-chain attack แบบเดียวกับ Node/npm หรือเปล่า
      อยากรู้ว่า Cargo มีกลไกจัดการเรื่องนี้ต่างออกไปไหม
    • ระบบนิเวศของ Rust ดูเหมือนจะกำจัดการ แชร์ runtime library ไปโดยพฤตินัย
      โปรแกรมส่วนใหญ่ลิงก์แบบ static และแม้แต่หลายโปรเซสของแอปเดียวกันก็ยังแชร์โค้ดส่วนกลางในหน่วยความจำไม่ได้
      ผมสรุปความเห็นเรื่องนี้ไว้ในบล็อกโพสต์
  • ต่อให้ Brave ประหยัดหน่วยความจำได้ 110% ผมก็ยัง ไม่เชื่อใจ อยู่ดี
    ก่อนหน้านี้ก็เคยมีประวัติเกี่ยวกับการยุ่งกับข้อมูลผู้ใช้หลายครั้งแล้ว

    • ในอีกด้าน Firefox เองก็กำลังบั่นทอน ความน่าเชื่อถือ ของตัวเองเหมือนกัน เลยรู้สึกว่าช่วงนี้ไม่มีคำตอบที่สมบูรณ์แบบสำหรับการท่องเว็บ
    • อยากรู้ว่าหมายถึงเรื่องอะไร ช่วยอธิบายให้เจาะจงกว่านี้ได้ไหม
  • น่าแปลกที่ยังไม่มี community fork ของ Brave ที่ตัด องค์ประกอบเชิงพาณิชย์ ออกไปทั้งหมด (rewards, AI, ตัวอัปเดตของตัวเอง ฯลฯ)
    ถ้ามีเวอร์ชันแบบนั้นก็น่าจะรวมอยู่ในดิสโทร Linux สายเสรีได้ด้วย

    • การทำเบราว์เซอร์มี ต้นทุนสูงมาก
      Brave กำลังเตรียมโปรเจกต์ชื่อ Brave-origin เพื่อแก้ปัญหานี้ และมีการพูดถึงในทวีตของ Brendan Eich
    • ดูเหมือน Helium จะทำหน้าที่นั้นอยู่แล้ว
      ผมใช้เป็น เบราว์เซอร์หลักในชีวิตประจำวัน มาได้ครึ่งปีแล้ว และมันค่อนข้างเสถียร
      แต่อยากให้การรวมกับ 1Password ดีขึ้นอีกหน่อย
    • ผมเองก็ใช้ Brave เพราะ บล็อกโฆษณาได้เร็ว
      การต้องปิดตัวเลือกกระเป๋าเงินหรือ AI ตอนติดตั้งยังถือว่ายอมรับได้
      แต่ถ้ามี fork อย่าง Braveium ออกมา ผมพร้อมย้ายทันที
    • หลังติดตั้งเสร็จ คุณซ่อน ฟีเจอร์ BAT token ได้ด้วยการคลิกครั้งเดียว
  • จาก 162 เหลือ 104 แล้วบอกว่าลดลง 75% นี่คำนวณแปลก ๆ

  • ตั้งแต่ติดตั้ง Brave มา ผมก็ไม่เห็น โฆษณาเลยแม้แต่นิดเดียว ทั้งบน iOS และ Mac
    จากประสบการณ์ใช้งานของผม มันทำงานได้สมบูรณ์แบบ

  • เพิ่งรู้ตอนนี้เองว่า Brave รองรับ Vertical Tabs
    ดูบล็อกทางการแล้วกำลังคิดว่าจะย้ายมาจาก Firefox ดีไหม

    • จุดแข็งของ Firefox คือ ระบบนิเวศของส่วนเสริม
      Sidebery(ลิงก์) กับ Tree Style Tabs(ลิงก์) ทำ vertical tabs ได้ดีมานานแล้ว
      แถมตั้งแต่ Firefox v136 เป็นต้นมา ก็มีฟีเจอร์ vertical tabs แบบ built-in มาให้แล้ว
    • Vivaldi ก็รองรับ vertical tabs เหมือนกัน ไม่มี ฟีเจอร์เกี่ยวกับคริปโต และผู้นำก็ดูน่าเชื่อถือกว่า
    • Firefox ก็รองรับ vertical tabs อยู่แล้ว
    • แต่ตอนนี้ แท็บแบบโครงสร้างต้นไม้ ยังไม่ได้รองรับเป็นค่าเริ่มต้น มีแค่ toggle ในการตั้งค่า
  • หวังว่าการเปลี่ยนแปลงครั้งนี้จะทำให้นักพัฒนาเริ่มตระหนักเรื่อง ประสิทธิภาพการใช้ทรัพยากร กันอีกครั้ง
    คิดว่ายิ่งมีโค้ด Rust มากขึ้น AI ก็จะยิ่งเขียนได้ดีขึ้น

    • ในกรณีนี้ Rust ไม่น่าใช่ปัจจัยหลัก
      เวอร์ชันก่อนหน้าก็เขียนด้วย Rust อยู่แล้ว
    • การมาของ AI ทำให้ตอนนี้ผู้ใช้ ชดเชยประสิทธิภาพด้วยการอัปเกรดฮาร์ดแวร์ ได้ยากขึ้น
      สภาพแวดล้อมแบบนี้อาจบังคับให้ต้องกลับมาโฟกัสเรื่องประสิทธิภาพ
    • Rust เองก็ดูไม่ใช่ เงื่อนไขจำเป็น ที่จะการันตีประสิทธิภาพด้านหน่วยความจำ
    • ตัวบล็อกโฆษณาก็เขียนด้วย Rust อยู่ก่อนแล้ว
  • ผมชอบ Brave แต่บนมือถือไม่มี ส่วนเสริม เลยใช้ Firefox แทน
    บน Android, Firefox คือเบราว์เซอร์หลักของผม

    • ไม่นานมานี้ผมก็ย้ายจาก Firefox ไป Brave บน Android
      มันเร็วกว่าเยอะ ถึงจะไม่มีส่วนเสริม แต่สำหรับการใช้งานของผม แค่มี บังคับ dark mode กับบล็อกโฆษณาก็พอแล้ว
    • ช่วงหลังเพิ่งเจอ Cromite และรู้สึกว่ามันเร็วกว่า Firefox หรือ Brave
      เป็นตัวแทนของ Kiwi browser ที่ดีมาก
    • บน iOS มีแค่ Brave ที่บล็อกโฆษณาได้ แต่ Firefox ทำไม่ได้
      แต่ละ OS สภาพแวดล้อมต่างกันมากจนการรักษา การตั้งค่าแบบรวมศูนย์ ให้เหมือนกันเป็นเรื่องยากจริง ๆ
    • การรองรับส่วนเสริมบนมือถือของ Brave กำลังจะมาในเร็ว ๆ นี้
      ดูทวีตทางการ
  • ถ้าแท็บละ 45MiB ก็ถือว่าเยอะพอสมควร
    สมัยนี้แต่ละแท็บใช้คนละโปรเซส เลยมองข้ามได้ยาก

    • นั่นอาจเป็น สำเนาแบบ fork ของโปรเซสบล็อกโฆษณาหลักก็ได้
      ถ้าใช่ก็จะได้ประโยชน์จากการลดความซ้ำซ้อนของหน่วยความจำแบบ CoW
    • เดี๋ยวนี้ด้วย site isolation ทำให้ หนึ่งแท็บมีหลายโปรเซส ก็เกิดขึ้นได้เหมือนกัน
  • สงสัยว่า Brave ยังเป็นหน้าเว็บฝั่งหน้าสำหรับ การปั่นแล้วทุบราคาคริปโต อยู่หรือเปล่า

    • ไม่เคยเป็นแบบนั้นเลยแม้แต่ครั้งเดียว