สนามทดลอง WebAssembly

มี export หนึ่งรายการต่อชนิดตัวเลข (i32, i64, f32, f64) เริ่มจาก add(20, 22)

ตัวแก้ไข WAT

ซอร์ส WATคอมไพเลอร์ WAT (WABT) จะดาวน์โหลดเมื่อคุณคอมไพล์เท่านั้น ข้อผิดพลาดจะแสดงบรรทัดและคอลัมน์
การตั้งค่าขั้นสูง

ช่วงที่อนุญาต: 1,000–60,000

ช่วงที่อนุญาต: 1–10,000,000

ช่วงที่อนุญาต: 100–30,000

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

อัปโหลดโมดูล .wasm เขียน WAT หรือโหลดตัวอย่าง ระบบจะตรวจสอบความถูกต้องและแสดงรายละเอียดโมดูลก่อน ได้แก่ imports, exports, ฟังก์ชันพร้อม signature, หน่วยความจำ (เพจ), ตาราง, ตัวแปร global และ custom section จากนั้นจึงรัน export ที่รองรับด้วยอาร์กิวเมนต์แบบมีชนิด วัดเบนช์มาร์ก หยุด และสร้างอินสแตนซ์ใหม่ได้

ABI แบบตัวเลขและ import แบบเข้มงวด

ตัวรันเรียกเฉพาะ export ที่พารามิเตอร์เป็น i32, i64, f32 หรือ f64 และมีผลลัพธ์ไม่เกินหนึ่งค่า ค่า i64 ใช้ BigInt ตลอดเส้นทาง จำนวนเต็มขนาดใหญ่จึงแม่นยำ สตริง พอยน์เตอร์ reference, SIMD, WASI และผลลัพธ์หลายค่าจะแสดงในตัวตรวจสอบแต่ไม่ถูกรัน ระบบไม่จัดหา import ให้โดยอัตโนมัติ คุณเลือก stub ตัวเลขที่คืนค่าศูนย์ global ที่เป็นศูนย์ หรือหน่วยความจำและตารางใหม่เอง import ที่ยังไม่ได้จัดหาจะบล็อกการสร้างอินสแตนซ์และแสดงชื่อไว้

เบนช์มาร์กและหน่วยความจำที่วัดอย่างตรงไปตรงมา

การรันและเบนช์มาร์กทำงานใน Worker เฉพาะ มีเพดานจำนวนรอบ เพดานเวลา และ timeout ปุ่มหยุดจะปิด worker และรีเซ็ตอินสแตนซ์จะเริ่มใหม่ทั้งหมด ผลลัพธ์แสดงเวลาสร้างอินสแตนซ์ เวลาทำงาน ค่าเฉลี่ย มัธยฐาน P95 แบบ nearest-rank และจำนวนการทำงานต่อวินาที การเรียกที่เร็วมากจะวัดเป็นชุดให้เกินความละเอียดของตัวจับเวลา หน่วยความจำเชิงเส้นแสดงเป็นเพจ 64 KiB พร้อมขนาดเริ่มต้น ปัจจุบัน สูงสุดที่สังเกตได้ และเหตุการณ์การขยาย

ทำไมไม่มี CPU %, จำนวน GC หรือ FPS

เบราว์เซอร์ไม่เปิดเผยการใช้ CPU รายงาน และตัวนับ garbage collection และการเรียกฟังก์ชันไม่ได้วาดเฟรม จึงแสดงค่าเหล่านี้ว่าไม่ได้วัดหรือไม่เกี่ยวข้องแทนการสร้างตัวเลขขึ้นเอง JS heap ของหน้าและข้อมูล long task จะแสดงเฉพาะเมื่อเบราว์เซอร์รองรับ ทุกข้อค้นพบ เช่น การเรียกที่ใช้เวลานาน overhead ข้ามขอบเขต การขยายหน่วยความจำซ้ำ หรือ import ที่ยังไม่ได้จัดหา จะแสดงค่าที่วัดได้ซึ่งเป็นหลักฐานเสมอ

ความเป็นส่วนตัวและข้อจำกัด

โมดูล ซอร์ส WAT อาร์กิวเมนต์ และผลลัพธ์อยู่ในเบราว์เซอร์นี้เท่านั้น ไม่มีการอัปโหลด และระบบวิเคราะห์ไม่ได้รับเนื้อหาของโมดูล อัปโหลดได้หนึ่งโมดูล core ขนาดไม่เกิน 10 MiB และ WAT ไม่เกินหนึ่งล้านอักขระ คอมไพเลอร์ WAT (WABT) จะดาวน์โหลดเฉพาะเมื่อคอมไพล์ WAT เวลาที่วัดได้ขึ้นกับเบราว์เซอร์ อุปกรณ์ และระดับ JIT จึงควรเปรียบเทียบบนเครื่องเดียวกัน

CodingTool เปิดตัวอย่างเป็นทางการบน

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch