บล็อก
16 posts
Auto-Update, a Live Inspector, and the Compiler That Halved Itself
· updater · devtools · refactorโพสต์ที่แล้วปิดท้ายที่ v0.5.306 ด้วยเรื่อง gen-GC + JSON + benchmark สี่วันต่อมา Perry มาถึง v0.5.359 — นั่นคือ 53 patch release — และเรื่องราวก็ต่างออกไปอีกครั้ง ไม่มี release ไหนเป็นพาดหัวด้วยตัวเลข benchmark เลย เกือบทั้งหมดคือ การปิด issue จากตัว tracker
tvOS, Cross-Compile iOS from Linux, and Perry Login
· tvOS · cross-compilation · billingห้าวัน 120 คอมมิต และ Perry กระโดดจาก v0.4.0 เป็น v0.4.24 ไฮไลท์: tvOS กลายเป็นเป้าหมายการคอมไพล์ลำดับที่ 10, แอป iOS และ macOS สามารถสร้างได้ทั้งหมดจาก Linux, perry login นำเสนอการเรียกเก็บเงินตามการใช้งาน และ UI ของ Windows ได้รับการปรับปรุงครั้งใหญ่ นี่คือทุกอย่างที่ส่งมอบ
True Multi-Threading, Compile-Time i18n, and watchOS
· threading · i18n · watchOSPerry v0.4.0 เป็นรีลีสที่ใหญ่ที่สุดตั้งแต่โปรเจกต์เริ่มต้น สามครั้งของการกระโดดเวอร์ชันในรอบเดียว — v0.3.0 (i18n), v0.3.2 (watchOS), v0.4.0 (multi-threading) — และตัวคอมไพเลอร์เองก็เป็นแบบขนานแล้ว นี่คือทุกอย่างที่ส่งมอบ
The Full Pipeline: Docs, Distribution, and WidgetKit
· distribution · documentation · WidgetKit82 คอมมิตใน 7 วัน เว็บไซต์เอกสาร 49 หน้า การเผยแพร่ App Store และ Play Store อัตโนมัติ แพ็กเกจ Homebrew และ APT ส่วนขยาย WidgetKit เนทีฟที่คอมไพล์จาก TypeScript คอมไพเลอร์ LLVM แบบ self-hosting และการแก้ไขบั๊กหลายสิบรายการในทุกแพลตฟอร์ม
Plugin Systems Are a Performance Tax
· architecture · performance · compilerคุณติดตั้ง VS Code มันเร็ว คุณเพิ่มส่วนขยาย 15 ตัว ตอนนี้ใช้เวลา 4 วินาทีในการเริ่มต้นและ Extension Host กิน RAM 800 MB เกิดอะไรขึ้น?
Optimizing Everything: One Week, 68 Releases, and a 547x JSON Speedup
· performance · llvm · JSONบล็อกโพสต์ที่แล้วออกพร้อมกับ Perry เวอร์ชัน v0.5.12 วันนี้เราอยู่ที่ v0.5.80 นั่นคือ 68 patch release ในเจ็ดวัน โดยเกือบทั้งหมดโฟกัสที่สิ่งเดียว: เปลี่ยน slow path ที่เหลือทุกอันให้เป็น fast path
npm Distribution, perry dev, and Winning Every Benchmark
· npm · developer-experience · performanceโพสต์ที่แล้วปิดท้ายด้วย Perry ที่ v0.5.80 และความพ่ายแพ้ดื้อ ๆ หนึ่งรายการบนตารางเบนช์มาร์ก: JSON.parse/stringify roundtrip ยังช้ากว่า Node 1.6 เท่า หกวันต่อมา Perry อยู่ที่ v0.5.174 นั่นคือ 94 patch release และมีสามสิ่งที่เปลี่ยนไปซึ่งคุ้มค่าที่จะกล่าวถึงก่อนสิ่งอื่นใด:
Introducing Perry
· announcement · compiler · TypeScriptเรายินดีที่จะแนะนำ Perry — คอมไพเลอร์ TypeScript แบบเนทีฟที่เขียนด้วย Rust ซึ่งคอมไพล์ TypeScript ของคุณโดยตรงเป็นไฟล์เรียกทำงานแบบสแตนด์อโลน ไม่ต้องใช้รันไทม์ Node.js ไม่ต้องใช้ Electron wrapper ไม่มีการประนีประนอม แค่โค้ดของคุณ คอมไพล์เป็นไบนารีเนทีฟที่ เริ่มต้นทันทีและรันได้ทุ
Generational GC, Lazy JSON, and Benchmarks That Hold Up to Scrutiny
· GC · JSON · performanceโพสต์ที่แล้วปิดท้ายที่ v0.5.174 ด้วยพาดหัวเดียว: ในที่สุด Perry ก็ชนะทุกเบนช์มาร์กในชุดหลักทั้งเทียบกับ Node และ Bun สามวันของงานและกอง commit ด้าน GC + JSON ที่ค้างอยู่ผ่านไป Perry ก็ขึ้นมาที่ v0.5.306 นั่นคือ 132 patch release และเรื่องราวก็เป็นคนละเรื่องกัน พาดหัวไม่ใช่การเร่ง
From Compiler to Ecosystem: React, Databases, and Cloud Builds
· ecosystem · perry/ui · databasesเมื่อสัปดาห์ที่แล้ว Perry เป็นคอมไพเลอร์ที่มีชุดเครื่องมือ UI คุณสามารถเขียน TypeScript คอมไพล์เป็น ไบนารีเนทีฟ และส่งมอบบน 6 แพลตฟอร์ม นั่นคือเรื่องราวทั้งหมด วันนี้เรื่องราวใหญ่ขึ้น: Perry กำลังกลายเป็นระบบนิเวศ ORM ฐานข้อมูล 3 ตัว การแจ้งเตือนแบบพุชแบบครอบคลุม บิลด์แบบกระจายพร
Cross-Platform Native UI from TypeScript
· architecture · UI · cross-platformหนึ่งในเป้าหมายที่ทะเยอทะยานที่สุดของ Perry คือการส่งมอบแอปพลิเคชัน GUI ที่เป็นเนทีฟอย่างแท้จริง จากโค้ดเบส TypeScript เดียว ไม่ใช่ web views ที่ห่อด้วยเชลล์เนทีฟ ไม่ใช่ เอนจินเรนเดอร์แบบกำหนดเองที่วาดพิกเซลของตัวเอง วิดเจ็ตเนทีฟจริงๆ เรนเดอร์โดย เฟรมเวิร์ก UI ของแต่ละแพลตฟอร์มเอ
Cross-Compile to Windows, iOS Game Loops, and 100% Test Parity
· compiler · cross-compilation · infrastructure103 คอมมิตในคอมไพเลอร์ Perry สัปดาห์นี้ ฟีเจอร์หลัก: ตอนนี้สามารถครอสคอมไพล์ไฟล์ปฏิบัติการ Windows จาก Linux ได้แล้ว, แอป iOS สามารถรันเกมลูปแบบบล็อกกิ้ง, คอมไพเลอร์รายงานการแครชสำหรับเทเลเมทรี และคอมไพเลอร์แบบเซลฟ์โฮสติ้งผ่านทุกเทสต์เชิงกำหนดที่เราทดสอบ นอกจากนี้ยังมีการอัปเกรดโ
From Cranelift to LLVM: How Perry Got 24x Faster
· compilers · llvm · craneliftการย้าย backend ของ Perry จาก Cranelift ไปยัง LLVM เสร็จสมบูรณ์แล้ว ตั้งแต่ v0.5.12 เป็นต้นไป LLVM เป็น backend สำหรับ code generation เพียงตัวเดียว และตอนนี้ Perry เอาชนะ Node.js ได้ในทุก benchmark — ด้วยมาร์จินตั้งแต่ 1.7x ถึง 24.6x (มีสองรายการเสมอกัน)
Compiling Hono, tRPC, and Strapi to Native Binaries
· compiler · frameworks · progressตอนนี้ Perry คอมไพล์เฟรมเวิร์ก TypeScript หลักสามตัว — Hono, tRPC และ Strapi — เป็น ไฟล์เรียกทำงานเนทีฟ ARM64 คอมไพล์ในเวลาน้อยกว่าหนึ่งวินาที สร้างไบนารีที่มีขนาดต่ำกว่า 2 MB และรันโดยไม่ crash
Building Pry: A Native JSON Viewer in TypeScript
· tutorial · showcase · PryPry เป็นตัวดู JSON เนทีฟที่สร้างขึ้นทั้งหมดด้วย TypeScript และคอมไพล์ด้วย Perry ไม่ใช่ การสาธิตเทคโนโลยี — มันเป็นเครื่องมือจริงที่เราใช้ทุกวันเพื่อตรวจสอบการตอบกลับ API ไฟล์ คอนฟิก และดัมพ์ข้อมูล โพสต์นี้อธิบายวิธีการสร้าง วิธีการคอมไพล์ และประสบการณ์ ของนักพัฒนาเป็นอย่างไรเมื่อ
All Six Platforms, Full Feature Parity
· UI · cross-platform · releaseเมื่อเราเปิดตัวระบบ UI เนทีฟเวอร์ชันแรกของ Perry "ข้ามแพลตฟอร์ม" หมายความว่า macOS ทำงานได้ดีและอีกห้าแพลตฟอร์มเป็น stubs วันนี้ด้วย v0.2.162 นั่นไม่จริงอีกต่อไป ทั้งหกแพลตฟอร์ม — macOS, iOS, iPadOS, Android, Linux และ Windows — ตอนนี้มีความเท่าเทียมกันของฟีเจอร์อย่างเต็มที่ โค้ด