Upgrade to Pro — share decks privately, control downloads, hide ads and more …

パフォーマンスクリティカルな領域へのRust活用戦略

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Yuki Toyoda Yuki Toyoda
March 22, 2026
800

 パフォーマンスクリティカルな領域へのRust活用戦略

Avatar for Yuki Toyoda

Yuki Toyoda

March 22, 2026

More Decks by Yuki Toyoda

Transcript

  1. he×¼}l Rust.Tokyo ºü¼ú´¶ü / ÷SaaS Om½õø¶·²²ü½ö¿ø ÿ}vAX µüó¹~SaaS ÷ýð¿ø~½õø¶·²²ü½ö¿øxwvöÛ w1Ÿ~}~y_~âÛfuzy²ƒxvt»2mÛwõûµ´¿û¸ó¸û²²

    wvzº1õýóø¸óù{¹¿ù¶ù´óõù~w²_ß»2 om~{¿¹1Rust ~ÿÕ»óõ±üó¹<Rust.Tokyo =~Û÷²¯v2q×w >ßýRust ÷ý°ùÿó°/¯? ÿùÜ·¹öðõ 1 >Rust {¸»Web ²÷ú±ü ·÷óŸ~? ÿ›Ïµ´¸óö³õ³¿ 2}~{{ñ÷³²x~ßzy2 ÷ù´ùüøw~gß~×1Rust {·y»šÏ²fú··²y»bot ²wvt º1粿tqvö¸ó»´²mwvt»{{1rust-lang/rust ÿRust ³óñ´ ùx~³óøúóõü·÷ó²¯svt»2
  2. z|ÿ´ñõ¹üþó¹˜ß{Rust z~{ ß^Ýï~¸v{µüó¹y_|Oü´öó·ü²n±¹¼»±ü¹w1 Rust ão~\vgnop2/o1SaaS Omwy_öz¿øùõ³ó¿ zx²1øVö{ñõ¹üþó¹|n±¹¼»ÿb|ßz[y»2 ݉z~<y¯ú÷üü¹=wz1üøûýó¿xzsvt»{Û³ó ýüýóø{~^/y»xtv²÷ýüñwr»2ç[¹¿ó¿x~ÿ² g/Wwz|¹1ñõ¹üþó¹}Õ²ûvfup2

    ñõ¹üþó¹}Õ{1rÿxwv¿{º´yt¿ŸWx1oú½ü¹ß ~O{¸»´óõù³¹ø~Zûÿ²kö{ßw}»±ü¹|[tx …ƒxvt»2 ôóý´óø^/~ßW y¯þ}ûxO‰'ú¹¿|¿t üøûýó¿xz»ÿb~{{Ûy» ç[¹¿ó¿xFFI/ µ´ù»ü1RPC {wçÿ ÿžö{^/ÿö²ã/y»
  3. Rust |Uÿb~w_Ï § ú²û¿´÷v š÷Ýï ñóøý ù´öýÖý ʰ /ß÷ü¿÷v ýÀ÷v

    ºóúw~÷ü¿ò/÷v Kaf‚a Ãó·õüþ CPU ¬÷~¿z»÷v üÃóùëÞ }ùó½óÀŠÿ ß'×÷v NLP _÷v Âüø¶·´'½ó·õ úðü¹÷ý½· ¾ÿÂüø¶·´ üüøúÿó¿ü ¯_½ó·õ'´óúDB víÿþÿCPU o÷|¿t'úû÷²¿±t'¯ÿÿ ü´öó·ü|_Ü'GC |üøûýó¿'¹Á üûùø|¿tśŌś tz¼{{ú_y¼€RǹÁ o?zøþ¢xz»2}ÿxwv´óõù¿²Z¼»2
  4. ÏÏ}Ïÿu~v~zOm~Rust {¸»}Õß~ ïORust ~/ø^/{¸»ñõ¹üþó¹}ÕÏÏwr»2ñõ¹üþó¹}¾}ÿ~_ógþ~qo|O?Vz±ü¹²r»±1ßzw² kúz{zsvtzt±ü¹|r»ù{ìo|߉2 <}vwû÷W²Ôrw}=xtvÏßxwvӃ{y»oþ|ùWxƒx »2 Grab ÿ´óõù¿ 70%

    Z ¿QPS ~·ó÷ûzGo þ´¿ýµüó¹ ²Rust w~txÝßÍ2Go xRust wg ùzþ}o|uz»±apple-to-apple wzt|1CPU 'ñòúû÷|/_} Õw1gý²{|ýcw~~´óõù ¿²}70% Zw2 PayPay ÿCPU 1/10 'ñòú 1/80 TypeScript ÿNode.js ý~API ²üø¶ ·´|¿{Rust ýµ´ù»ü²ÿò2 CPU o÷1/10 'ñòú1/80 'ü´öó ·üg/30% }Õ²Ôr2SaaS ~¾ ÿ²üø¶·´{}~~~ùow´yt ñ¿üówr»2 TikTok ÿ~— $300K Z Go ý~nµüó¹~/øAPI ²Rust { }ûxÿRPC/FFI w·u[O~}û x 2¿øùõ³ó¿~CPU üøûýó ¿ÿbw1\ërw2 ]~øùõ³ó¿² ÷vÿý{w1/ø~}Õw~—}4,700 O×~´óõù¿Z{®w2
  5. ÕÏÏÿw\¸ó¸óx~^/ Ìox}ÿ }vAX µüó¹{zq»xr»øV~o_W·³~w\÷v{Rust ² ^/w2S5Python wßÍu¼vt|1/?÷ü¿ß~ßò{ ÏwvŸþ|Ý×{OOy»sx|QA ÿžwvn2úúü¹ß~y€ ´t}ï|¿¿~¼»öí€s2

    //~¸ó¸û²|±o{Python ³Rust x~þ}ûxöùóñ²ß{ {ß¿³wtsx|}s{qw1Rust ^/x~Ó|Ÿq2zzç _¸ó¸û²÷ù´ùüøwRust ²þtvt|1ßÛ^/_± v€s2 o_ÿP×·hˆ + P×O3 {¸»FFI Cloud Run Nw×Python µüó¹ÿFastAPI {¹1w\¸ó¸ó øV€q²Rust wþ}ûx1PyO3 ²šxvFFI |sûwy»ër²ã o2Õ{yw{FFI ÏÏ|rssx²ßþw{zs2 z|Rust €s{ ç_…|÷ù´ùüøwRust ²owvzº1t{s Python ~FFI wRust |}_ëyÿPython }_ù½õñóø C/C++ ²/svt»|2 Go ´C# GC |Python tx?oy»_Ü|r» cgo }u~|sûw³¹ø'v}²ÿqt o_W÷vù´öùú~¸³·¹öð|Uß ^g~AI ýã{UqPython FFI Û}²ýcwt }ÿ Ÿþÿ30 <44 ]}Õ²Ôr2ñòúFFI Û}wPython/Rust ot{ úß|¿»±}ÕÖÛö€|1÷vŸþ~}Õ{¸ºöü¶ü_ ›/_UNw2
  6. ão'}²fu ãofu ^/f{z}¹_Ü{z»~|<Rust ¸ó¸û²|t»~{ÿ= xtv/?~_Üwr»2øVözRust ^/w~fRust ~ßÏ| r»¿wzt±1 <Rust ¸ó¸û²=xwvãoy»~÷

    wt2ß߅t~ûüº²î{ztú¹¿|r»2 ñ´ó¿žwn/²ûy kö{Rust }›²n±»{y»2÷ù´ùüøwRust ²ïssx|r»¸ó¸û²_ö{{zº[t2 ßÛo}›w²_Üzw ùWzo÷_v|r¼€1}~o²/ßy€{ÎÓ{_{ ¹¼»ÿýg¿t2o÷_v~ëû{}q³x³¹ø²r y}wr»x®nwv{¹^/y»ß‰r»2 }²fuÿHaskell ÏÏ{v https://agentultra.com/blog/using-haskell-in-production/ _wHaskell ²{oy»_{ztv1g_20 ]³100 ]k~ Haskell ¸ó¸û²²óx»Om{wÏÏ|r»2ão^|{Haskell ¸ó¸û²xv²]zt~w1Rust xöí|vt»2 }~ÏÏ~Wxwvÿ o}›…w²øüüûó°|Ußwvt¼€_Üzt Haskell wõÓ…|ÿÿy»~w1 <2 öo Rust ~|\²}~öz׺}|߉w1 ÿÿ~w{´º1 <3 öo¹t~—²‰y»sí Rust ²x»'ttõ~W?|Oÿo ^/~Ûfùwøüüûó°÷ý°ùð~uÙ~wŠ{±»sx| ݉€xƒx»2ão~ëwý´óø{z»{{1Rust ²svt ç[õ~¹½û²ó÷{²®w}»2½u~úß~±{݉2
  7. AI |^/žÙ²Or» Rust ~g²÷wtxu¼»øVÿbok'ù´õ¿´ð'øü´øo?~¯Š²³ü÷³óÀ¸ü¸·óø|/_{µýüøwv¼»±1 ^/žÙ{tvxy1/}OOwvt»xƒx»2 î_~×qßxÿgo? bok'ù´õ¿´ðwú~sŸ{³ü÷³ óÀ¸ü¸·óø{î_'Ùsy»oý| g²ûÿö2xx€<ss~clone ²íyo

    ýÿ= <s~³óñ´û¸ùü~ëíoý ÿ=zyxÞ}tsx²oy€qw{zº kúzÞ|ßsv»2//wÛ±»OÛ² /}ÿw}»2 ³üùor ³óö½¹ø|usvt¼€o÷~zt³üù ²ory»2€1…~¿ëw<Rust € {¹=³üùor|o{xtv¿qw²zt2 y~¿žwrsv²³óö½¹ø~Ußþ\t {rÿ{|ÿóu¼»2 Y{y~Õw~oÏÏw ç_¸ó¸û²Python ³Rust ~ûm²¯V ~?w¯ttt1bok´ù´õ¿´ðwú~ sŸ{¸ü¸·óøxÙs2s~}\¿ {|ûÿö{ÿü¿wx~sx2
  8. ~x±ÿRust ôóý´óø^/fu n fu~\vg SaaS Omw²øVö{ñõ¹üþó¹| n±¹¼»ÿb[y»2y¯ú÷üü ¹wz1CPU o÷'p99 ü´öó·

    ü'GC üøûýó¿'¹Áüû³¹ø² g{{víw1ôóý´óøw^/y»2 B ß~|yûÿ Grab ÿ´óõù¿70% Z PayPay ÿCPU 1/10 'ñòú 1/80 TikTok ÿ~—$300K Zÿ1 ÿb ÕÏÏÿŸþ30 <44 ]}Õ · AI ÿ}²wžÙ²û| ³ü÷³óÀ¸ü¸·óø|bok' ù´õ¿´ð~Ù²O 1Q ~ÿÿ—²¿¿³pøüüûóÀ Š ñ´ó¿žn/ÿköRust }›~ã ofu åñ~r»ç_…~[|g/~ë² ? k~²¿·÷óÿ~z¯~üøûýó¿ÿb²Šn'{Ûy»2CPU o÷'p99 ü´öó·ü'´óõù³¹ø~y¼{|_Ü{z svt»ÿb|r¼€1Rust ~ôóý´óø^/²w_ö{}Žy»ït|r»2
  9. Ӄo G«ab ÿCounter Service: How we rewrote it in Rust

    https://engineering.grab.co m/counter-service-how-we- rewrote-it-in-rust Pa×Pa× ÿScalˆg Pa×Pa× Ñl·h R¼¯· https://blog.paypay.ne.jp/e n/scaling-paypay-with-rust/ Tl}T} ÿ2x Performance, $300k Savings: A Case Study in Rewriting a Critical Service in Rust https://wxiaoyun.com/blog/ rust-rewrite-case-study/ P×·hˆ }_ÿ Rec‡‡eˆded ·hl«d ¨a«·× ·¯ https://docs.python.org/ja/ 3.13/c- api/intro.html#recommende d-third-party-tools U¯lˆg Ha¯}e lˆ P«d¼c·lˆ https://agentultra.com/blog/using-haskell-in-production/