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
11

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

Avatar for Yuki Toyoda

Yuki Toyoda

March 22, 2026
Tweet

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ß~Rust ~×1Rust {·y»šÏ²fú··²y»bot ²w vt»{{1rust-lang/rust ÿRust ³óñ´ùx~³óøúóõü·÷ó|ñ´ó xzsvt»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_ùöz²÷ýüñwr»2ç[¹¿ó¿x ~ÿ²g/Wwz|¹1ñõ¹üþó¹}Õ²ûvfup2

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

    ʰ /ß÷ü¿÷v ýÀ÷v'ETL ´óúò/÷v Kaf‚a Ãó·õüþ uUþºüÀü~¹øúü÷vwúû÷|öçùø {ö}y»2 CPU ´óöó·ö÷v üÃóùëÞ }ùó½óÀŠÿ ß'×÷v NLP _÷v Âüø¶·´'½ó·õ úðü¹÷ý½· ¾ÿÂüø¶·´ üüøúÿó¿ü ¯_½ó·õ'´óúDB víÿþÿCPU o÷|¿t'úû÷²¿±t'¯ÿÿ ü´öó·ü|_Ü'GC |üøûýó¿'¹Áüûùø| ¿tśŌś tz¼{{ú_y¼€RǹÁ o?zøþ¢xz»2}ÿxwv´óõù¿²Z¼»2
  4. ÏÏ}Ïÿ´óõù¿Z~ß~ ï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}¹g²_Ü{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/ßy€{ÎÓ{_{¹¼»ÿ ýg|¿t2 }²fuÿHaskell ÏÏ{v _wHaskell ²{|¼ý{¹^/w1100 ]k~Haskell ¸ó¸û² ²óx»Om{wÏÏ|r»2}~ÏÏ~Wxwvÿ o}›…w²øüüûó°|Ußwvt¼€_Üzt Haskell wõÓ…|ÿÿy»~w1 <2 öo Rust ~|\1 Rust ¸º×z±11Q ÿ3 öo~ÿÿ—²¿¿° Rust ²x»'ttõ~W?|Oÿo ^/~Ûfùwøüüûó°÷ý°ùð~uÙ~wŠ{±»sx| ݉€xƒx»2ão~ëwý´óø{z»w1
  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²ûÿö2 <ss~clone

    ²íyoýÿ=x ³óñ´û¸ùü²oy€qw{zºkúzÞ |ßsv»2//wÛ±»OÛ²/}ÿ w}»2 ³üùor ³óö½¹ø¸ó¸û²úóÀ|usvt¼€ o÷~zt³üù²ory»2€1…~¿ ëw<Rust €{¹=³üùor|o{xt v¿qw²zt2 ÕÏÏw~o ç_¸ó¸û²Python ³Rust ~ûm²¯V ~?w¯ttt1bok´ù´õ¿´ðwú~ sŸ{¸ü¸·óøxÙs2s~}\¿ {|ûÿö{ÿü¿w2AI ³üùyorw z1 <ú~sÿb~þÏþ?=xwv~ o|{{oo€2
  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 ÿR¼¯· {¸»»¶ ó¿üµüó¹ÝßÍ engineering.grab.com 4 Counter Service: How

    We Rewrote It in Rust Pa×Pa× ÿR¼¯· {¸» API ²üø¶·´~¹± üúó° blog.paypay.ne.jp 4 Scaling PayPay with Rust Tl}T} ÿR¼¯· úù´ø ±ü¹¹¿÷³ wxiaoyun.com 4 Rust Rewrite Case Study P×·hˆ }_ÿëyµü ùñüö³ôüûÿC API  docs.python.org 4 ëyµü ùñüö³ôüû Ha¯}e oÛo~_›Ï agentultra.com 4 Using Haskell in Production