<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Perry Blog</title>
    <link>https://www.perryts.com/th/blog/</link>
    <description>บันทึกการออกรุ่น บทแนะนำ และบทความเชิงเทคนิคของ Perry พร้อมวันที่ ผลการวัดในอดีตอ้างอิงตามเวอร์ชันเดิม</description>
    <language>th</language>
    <item>
      <title>Compiling JavaScript AOT is complicated, here is why</title>
      <link>https://www.perryts.com/th/blog/compiling-javascript-aot/</link>
      <guid>https://www.perryts.com/th/blog/compiling-javascript-aot/</guid>
      <pubDate>Fri, 30 Oct 2026 00:00:00 GMT</pubDate>
      <description>An ahead-of-time compiler has to know, before the program runs, whether item.price is one load or a full lookup. How Perry proves whole-program facts about your JavaScript, the design that hit a wall, the per-unit design that replaced it, what failed, and where it stands.</description>
    </item>
    <item>
      <title>สร้าง GC สำหรับคอมไพเลอร์ TypeScript แบบเนทีฟ: การตัดสินใจ เรื่องเหนือความคาดหมาย และสถานะปัจจุบัน</title>
      <link>https://www.perryts.com/th/blog/gc-decisions-surprises/</link>
      <guid>https://www.perryts.com/th/blog/gc-decisions-surprises/</guid>
      <pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate>
      <description>Perry คอมไพล์ TypeScript เป็นโค้ดเนทีฟด้วย LLVM ซึ่งหมายความว่าต้องมีตัวเก็บขยะจริง บทความนี้เล่าถึงการตัดสินใจของเรา บั๊กที่ไม่ทิ้งหลักฐาน CI gate ที่ไม่มีทางล้มเหลว และตัวเลขล่าสุดเมื่อเทียบกับ Node และคู่แข่ง AOT ที่ใช้ reference counting</description>
    </item>
    <item>
      <title>คอมไพล์ Claude Code: bundle ที่ย่อแล้วหนึ่งไฟล์ กับการแก้ไขคอมไพเลอร์ 160 รายการ</title>
      <link>https://www.perryts.com/th/blog/compiling-claude-code/</link>
      <guid>https://www.perryts.com/th/blog/compiling-claude-code/</guid>
      <pubDate>Sat, 25 Jul 2026 00:00:00 GMT</pubDate>
      <description>เราลองใช้ Perry เปลี่ยน cli.js ที่ย่อแล้วขนาด 13 MB ซึ่ง npm แจกจ่ายให้ Claude Code ให้เป็นไบนารี native หนึ่งเดือนต่อมา โปรแกรมเปิดทำงาน เข้าสู่ระบบ รับคำตอบจริงจาก API แบบสตรีม และแสดงตัวอักษรที่พิมพ์ได้ ระหว่างทางมีการรวม pull request 160 รายการเข้า Perry ตั้งแต่ MessageChannel ที่ไม่ทำอะไร ไปจนถึง write barrier ของ GC ที่ขาดหายไปใน header ของ RegExp</description>
    </item>
    <item>
      <title>เผยแพร่แอปสำหรับ Apple Watch โดยเฉพาะบน App Store เมื่อวิธีอื่นใช้ไม่ได้</title>
      <link>https://www.perryts.com/th/blog/shipping-a-watch-only-app-to-the-app-store/</link>
      <guid>https://www.perryts.com/th/blog/shipping-a-watch-only-app-to-the-app-store/</guid>
      <pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate>
      <description>วิธีอัปโหลดแอป watchOS แบบอิสระไปยัง App Store ที่มีในเอกสารล้วนใช้ไม่ได้ ทั้ง altool, iTMSTransporter, xcodebuild และแม้แต่ Organizer ของ Xcode 26 ก็ปฏิเสธ watchOS นี่คือวิธีแก้ที่ไม่มีในเอกสารแต่ใช้ได้จริง และยังคง arm64_32 สำหรับนาฬิการุ่นเก่า: ห่อแอปด้วย iOS stub ที่กำหนด ITSWatchOnlyContainer แล้วอัปโหลดผ่าน iTMSTransporter</description>
    </item>
    <item>
      <title>npm package จริงคอมไพล์ได้แล้ว: axios, zod, express — กับการกวาด conformance</title>
      <link>https://www.perryts.com/th/blog/real-npm-packages-and-a-conformance-sweep/</link>
      <guid>https://www.perryts.com/th/blog/real-npm-packages-and-a-conformance-sweep/</guid>
      <pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate>
      <description>ราว 270 release จาก v0.5.875 ถึง v0.5.1146 ไม่ได้เกี่ยวกับ benchmark ตัวเดียว — แต่เกี่ยวกับการทำให้ npm package จริงคอมไพล์และรันได้ axios, zod v4, express, fastify และ hono ทำงานได้แล้ว ความเทียบเท่า test262 กระโดดขึ้น (String 60→79%, Array 61→72%) Windows กลายเป็น Fluent ด้วย Mica และ DatePicker + drag &amp; drop ลงจอดบนทุกแพลตฟอร์ม</description>
    </item>
    <item>
      <title>สิ่งที่ benchmark ของ aya_koto สอนเราเกี่ยวกับ GC ของ Perry</title>
      <link>https://www.perryts.com/th/blog/closing-the-gc-gap/</link>
      <guid>https://www.perryts.com/th/blog/closing-the-gc-gap/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>ผู้อ่านคนหนึ่ง benchmark Perry บน AtCoder ABC451D และวัดได้ว่าช้ากว่า Bun 3.85× ในระหว่างนั้น regression แบบเงียบได้ขยายช่องว่างขึ้นเป็น 6.59× การแก้ไม่ได้อยู่ในจุดที่เราคาด trade-off ของ GC ที่จงใจไว้ซึ่งมันเปิดเผยออกมานั้นเป็นเรื่องจริง และ Perry v0.5.875 ตอนนี้เสมอกับ Bun บน bench เดียวกัน: 425 ms vs 431 ms</description>
    </item>
    <item>
      <title>อัปเดตอัตโนมัติ, inspector แบบ live และคอมไพเลอร์ที่ลดตัวเองลงครึ่งหนึ่ง</title>
      <link>https://www.perryts.com/th/blog/updater-live-inspector-and-compiler-refactor/</link>
      <guid>https://www.perryts.com/th/blog/updater-live-inspector-and-compiler-refactor/</guid>
      <pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.5.306 → v0.5.359 ใน 4 วัน — 53 patch release ปิด issue ราว 30 รายการ และของใหญ่ 3 อย่างลงจอด: perry/updater สำหรับ auto-update บน desktop, inspector แบบ live ที่ localhost:7676 และการ refactor คอมไพเลอร์ที่ลดไฟล์ใหญ่ที่สุด 4 ไฟล์ลง 33–91%</description>
    </item>
    <item>
      <title>Generational GC, Lazy JSON และเบนช์มาร์กที่ทนต่อการตรวจสอบ</title>
      <link>https://www.perryts.com/th/blog/gen-gc-lazy-json-and-defensible-benchmarks/</link>
      <guid>https://www.perryts.com/th/blog/gen-gc-lazy-json-and-defensible-benchmarks/</guid>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.5.174 → v0.5.306 ภายในสามวัน พร้อมงาน GC และ JSON ที่ลงควบคู่กัน Generational GC กลายเป็นค่าเริ่มต้น Small String Optimization กลายเป็นค่าเริ่มต้น JSON pipeline ได้ lazy tape ที่ลงตัวที่ค่ากลาง 75 ms บน validate-and-roundtrip — ดีที่สุดในกลุ่ม dynamic typing หน้าเบนช์มาร์กเขียนใหม่ด้วยค่ากลาง RUNS=11 + p95 + σ เพิ่ม simdjson และ AssemblyScript+json-as เป็นเพียร์ และทุกจุดอ่อนของ Perry ถูกเปิดเผยอย่างตรงไปตรงมา</description>
    </item>
    <item>
      <title>การกระจายผ่าน npm, perry dev, และชนะทุกเบนช์มาร์ก</title>
      <link>https://www.perryts.com/th/blog/npm-perry-dev-and-beating-bun/</link>
      <guid>https://www.perryts.com/th/blog/npm-perry-dev-and-beating-bun/</guid>
      <pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.5.80 → v0.5.174 ภายในหกวัน @perryts/perry ส่งขึ้น npm สำหรับทั้งเจ็ดแพลตฟอร์มที่รองรับ perry dev เพิ่ม watch-mode auto-recompile บนโครง in-memory AST cache และ on-disk per-module object cache json_roundtrip ปิดช่องว่างสุดท้าย — Perry ตอนนี้ชนะทุกเบนช์มาร์กเทียบกับทั้ง Node.js และ Bun</description>
    </item>
    <item>
      <title>ปรับแต่งทุกอย่าง: หนึ่งสัปดาห์, 68 รุ่น, และ JSON เร็วขึ้น 547 เท่า</title>
      <link>https://www.perryts.com/th/blog/optimizing-everything/</link>
      <guid>https://www.perryts.com/th/blog/optimizing-everything/</guid>
      <pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.5.13 → v0.5.80 ภายในเจ็ดวัน JSON.parse ปิดช่องว่าง 547 เท่ากับ Node mimalloc มาเป็น allocator หลัก มี inline cache, shape transition, typed Buffer slot, i32-native bitwise ops, scalar replacement และ native event loop ที่ทำให้เซิร์ฟเวอร์ Fastify และ WebSocket ทำงานต่อเนื่อง</description>
    </item>
    <item>
      <title>จาก Cranelift สู่ LLVM: อะไรพัง และเราแก้อย่างไร</title>
      <link>https://www.perryts.com/th/blog/cranelift-to-llvm/</link>
      <guid>https://www.perryts.com/th/blog/cranelift-to-llvm/</guid>
      <pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate>
      <description>การย้าย backend ของ Perry จาก Cranelift ไปยัง LLVM เสร็จสมบูรณ์แล้ว การเปลี่ยนครั้งแรกทำให้เบนช์มาร์กช้าลง 70 เท่า — นี่คือสิ่งที่พัง และการปรับแต่ง 6 รายการที่แก้ไขมัน</description>
    </item>
    <item>
      <title>tvOS, คอมไพล์ข้าม iOS จาก Linux และ Perry Login</title>
      <link>https://www.perryts.com/th/blog/tvos-cross-compile-and-perry-login/</link>
      <guid>https://www.perryts.com/th/blog/tvos-cross-compile-and-perry-login/</guid>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.4.24: tvOS เป็นเป้าหมายการคอมไพล์ลำดับที่ 10, คอมไพล์ข้าม iOS และ macOS จาก Linux ผ่าน ld64.lld, perry login พร้อมการเรียกเก็บเงินตามการใช้งาน, ปรับปรุง UI บน Windows, การรับรอง macOS และ 120 commit ใน 5 วัน</description>
    </item>
    <item>
      <title>Multi-Threading แท้จริง, i18n ตอนคอมไพล์ และ watchOS</title>
      <link>https://www.perryts.com/th/blog/true-multithreading-i18n-and-watchos/</link>
      <guid>https://www.perryts.com/th/blog/true-multithreading-i18n-and-watchos/</guid>
      <pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.4.0: เธรด OS จริงพร้อมความปลอดภัยตอนคอมไพล์, ระบบ i18n แบบไม่ยุ่งยากสำหรับกว่า 30 ภาษา, watchOS เป็นเป้าหมายการคอมไพล์ลำดับที่ 9, API เสียงและกล้อง และ pipeline คอมไพล์แบบขนาน</description>
    </item>
    <item>
      <title>คอมไพล์ข้ามแพลตฟอร์มไป Windows, Game Loop บน iOS และความเท่าเทียมของการทดสอบ 100%</title>
      <link>https://www.perryts.com/th/blog/cross-compile-windows-game-loops-and-parity/</link>
      <guid>https://www.perryts.com/th/blog/cross-compile-windows-game-loops-and-parity/</guid>
      <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
      <description>103 commit ในหนึ่งสัปดาห์: คอมไพล์ข้ามแพลตฟอร์มไป Windows จาก Linux ผ่าน lld-link, รองรับ game loop บน iOS, การรายงานข้อผิดพลาด, pipeline การ build Hub สองขั้นตอน และคอมไพเลอร์ self-hosting ทำได้ 68/68 ความเท่าเทียมของการทดสอบแบบ deterministic</description>
    </item>
    <item>
      <title>Pipeline ครบวงจร: เอกสาร, การกระจาย และ WidgetKit</title>
      <link>https://www.perryts.com/th/blog/the-full-pipeline/</link>
      <guid>https://www.perryts.com/th/blog/the-full-pipeline/</guid>
      <pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate>
      <description>82 commit ในหนึ่งสัปดาห์: เว็บไซต์เอกสาร 49 หน้า, การเผยแพร่อัตโนมัติบน App Store และ Play Store, แพ็กเกจ Homebrew และ APT, ส่วนขยาย WidgetKit เนทีฟจาก TypeScript, วิดเจ็ตใหม่, โมดูล http/https และคอมไพเลอร์ LLVM แบบ self-hosting</description>
    </item>
    <item>
      <title>จากคอมไพเลอร์สู่ระบบนิเวศ: React, ฐานข้อมูล และ Cloud Build</title>
      <link>https://www.perryts.com/th/blog/from-compiler-to-ecosystem/</link>
      <guid>https://www.perryts.com/th/blog/from-compiler-to-ecosystem/</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <description>Perry เติบโตจากคอมไพเลอร์เป็นระบบนิเวศที่สมบูรณ์ perry/ui เป็นแกนหลัก, ORM ที่เข้ากันได้กับ Prisma สำหรับ MySQL/PostgreSQL/SQLite, push notification สากล, build แบบกระจายพร้อมการเผยแพร่บน App Store และเลเยอร์ความเข้ากันได้กับ React — ทั้งหมดในหนึ่งสัปดาห์</description>
    </item>
    <item>
      <title>ทั้ง 6 แพลตฟอร์ม ฟีเจอร์ครบถ้วนเท่าเทียมกัน</title>
      <link>https://www.perryts.com/th/blog/all-six-platforms-ui-parity/</link>
      <guid>https://www.perryts.com/th/blog/all-six-platforms-ui-parity/</guid>
      <pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate>
      <description>วิดเจ็ต UI เนทีฟกว่า 20 ตัว, วิดเจ็ต Canvas, Table view, การแจ้งเตือนระบบ, การเข้าถึง keychain, รองรับหลายหน้าต่าง และฟีเจอร์ครบถ้วนเท่าเทียมกันบน macOS, iOS, iPadOS, Android, Linux และ Windows — ทั้งหมดจากโค้ดเบส TypeScript เดียว</description>
    </item>
    <item>
      <title>ระบบปลั๊กอินคือภาษีด้านประสิทธิภาพ</title>
      <link>https://www.perryts.com/th/blog/plugin-systems-are-a-performance-tax/</link>
      <guid>https://www.perryts.com/th/blog/plugin-systems-are-a-performance-tax/</guid>
      <pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate>
      <description>สถาปัตยกรรมปลั๊กอินแลกประสิทธิภาพกับความสามารถในการขยาย แต่ถ้าความสามารถในการขยายเกิดขึ้นตอนคอมไพล์แทนที่จะเป็นตอนรันไทม์ล่ะ? การประกอบตอนคอมไพล์ให้คุณทั้งสองอย่าง — ไม่มี overhead ยืดหยุ่นเต็มที่</description>
    </item>
    <item>
      <title>คอมไพล์ Hono, tRPC และ Strapi เป็นไบนารีเนทีฟ</title>
      <link>https://www.perryts.com/th/blog/compiling-hono-trpc-strapi/</link>
      <guid>https://www.perryts.com/th/blog/compiling-hono-trpc-strapi/</guid>
      <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
      <description>ตอนนี้ Perry คอมไพล์เฟรมเวิร์ก TypeScript สำคัญสามตัว — Hono, tRPC และ Strapi — เป็นไฟล์ปฏิบัติการ ARM64 เนทีฟ คอมไพล์ได้ในไม่ถึงวินาที สร้างไบนารีขนาดไม่ถึง 2 MB และทำงานได้โดยไม่มีข้อผิดพลาด</description>
    </item>
    <item>
      <title>สร้าง Pry: โปรแกรมดู JSON เนทีฟใน TypeScript</title>
      <link>https://www.perryts.com/th/blog/building-pry/</link>
      <guid>https://www.perryts.com/th/blog/building-pry/</guid>
      <pubDate>Thu, 20 Feb 2025 00:00:00 GMT</pubDate>
      <description>บทสรุปของการสร้าง Pry ซึ่งเป็นโปรแกรมดู JSON แบบเนทีฟที่คอมไพล์จาก TypeScript ไปจนถึงโค้ดเครื่องที่มีรันไทม์ Perry และ GC ลิงก์เข้าและไม่มี webview</description>
    </item>
    <item>
      <title>UI เนทีฟข้ามแพลตฟอร์มจาก TypeScript</title>
      <link>https://www.perryts.com/th/blog/cross-platform-native-ui/</link>
      <guid>https://www.perryts.com/th/blog/cross-platform-native-ui/</guid>
      <pubDate>Sat, 01 Feb 2025 00:00:00 GMT</pubDate>
      <description>วิธีที่ Perry จับคู่ฐานโค้ด TypeScript หนึ่งฐานกับวิดเจ็ตแพลตฟอร์มในเป้าหมายที่บันทึกไว้ รวมถึงข้อจำกัดและข้อกำหนดเบื้องต้นเฉพาะแพลตฟอร์ม</description>
    </item>
    <item>
      <title>แนะนำ Perry</title>
      <link>https://www.perryts.com/th/blog/introducing-perry/</link>
      <guid>https://www.perryts.com/th/blog/introducing-perry/</guid>
      <pubDate>Wed, 15 Jan 2025 00:00:00 GMT</pubDate>
      <description>Perry คอมไพล์ที่รองรับ TypeScript เพื่อปฏิบัติการแบบเนทิฟแบบสแตนด์อโลนที่มีรันไทม์และ GC เชื่อมโยงอยู่ โดยไม่ต้องมีการติดตั้ง Node.js ภายนอกหรือ JavaScript</description>
    </item>
  </channel>
</rss>
