Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Compact GC Head
Search
INADA Naoki
June 25, 2018
Technology
0
8.1k
Compact GC Head
Python の GCヘッダを減らすために今挑戦していることを紹介します。
INADA Naoki
June 25, 2018
Tweet
Share
More Decks by INADA Naoki
See All by INADA Naoki
Python 3 and Unicode
methane
0
100
New dict implementation in Python 3.6 (KLab Tech Meetup 2017-09-04)
methane
1
730
New dict implementation in Python 3.6
methane
2
1.5k
Other Decks in Technology
See All in Technology
薬屋のひとりごとにみるトラブルシューティング
tomokusaba
0
240
OPENLOGI Company Profile for engineer
hr01
1
37k
Amazon Q Developerを活用したアーキテクチャのリファクタリング
k1nakayama
2
210
20250807_Kiroと私の反省会
riz3f7
0
200
ロールが細分化された組織でSREと協働するインフラエンジニアは何をするか? / SRE Lounge #18
kossykinto
0
210
いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか(改)
nullpo_head
7
2.5k
風が吹けばWHOISが使えなくなる~なぜWHOIS・RDAPはサーバー証明書のメール認証に使えなくなったのか~
orangemorishita
15
5.7k
九州の人に知ってもらいたいGISスポット / gis spot in kyushu 2025
sakaik
0
130
Rubyの国のPerlMonger
anatofuz
3
730
dipにおけるSRE変革の軌跡
dip_tech
PRO
1
250
プロダクトエンジニアリングで開発の楽しさを拡張する話
barometrica
0
140
Strands Agents & Bedrock AgentCoreを1分でおさらい
minorun365
PRO
6
290
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
8
550
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Navigating Team Friction
lara
188
15k
Being A Developer After 40
akosma
90
590k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
For a Future-Friendly Web
brad_frost
179
9.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Transcript
$PNQBDU 1Z($@)FBE UDGNNFFUVQ *OBEB/BPLJ !NFUIBOF
͓લ୭Α w Ҵాɹ࠸ !NFUIBOF w ,-BC*OD w 1ZUIPO$PSF%FWFMPQFS w
$PNQBDU0SEFSFE%JDU w .Z42-%SJWFST (P 1ZUIPO
1ZUIPOͷ($ wࢀরΧϯτ w॥ࢀর($ɹˡࠓͷ wࢼݧআΞϧΰϦζϜ w ʮΨϕʔδίϨΫγϣϯ ࣗಈతϝϞϦཧΛߏ͢Δཧͱ࣮ʯ IUUQTXXXBNB[PODPKQEQ
ࢼݧআͷ֓ཁ w ΦϒδΣΫτͷू߹Λ८ճͯ͠ɺू߹ͷΦϒδΣΫτؒ ͷࢀরͷ͚ͩࢀরΧϯτΛݮΒͯ͠ΈΔ w ࢀরΧϯτ͕ͬͯΔΦϒδΣΫτ֎͔Βࢀর͞Εͯ ͍Δˠϧʔτʢੜଘʣ w ϚʔΫˍεΠʔϓͷΑ͏ʹɺϧʔτ͔Β࠶ؼతʹੜଘΦϒ δΣΫτΛܾఆ
1ZUIPOͷ࣮ ϫʔυ _gc_head *gc_next; _gc_head *gc_prev; ssize_t gc_refcnt;
HD@OFYU HD@QSFW w ํϦϯΫϦετ w ֤ੈͷΦϒδΣΫτͷू߹Λཧ w ҙͷΦϒδΣΫτΛ0 Ͱ֎ͤΔ
HD@SFGDOU w ࢼݧআ༻ࢀরΧϯτ w ෛͷఆ w 53"$,&% ΑΓݹ͍ੈͷΦϒδΣΫτ
w 6/53"$,&% ཧ֎ʣ w 5&/5"5*7&-:@6/3&"$)"#-& আީิ w 3&"$)"#-& ੜଘ֬ఆ w CJUΛผ్ͷϑϥάͰར༻
None
ϚʔΫϑΣʔζ w HDMJTUΛ८ճͯ͠HD@SFGDOU͕ w VOSFBDIBCMFϦετʹҠಈ আީิ w ੜଘ֬ఆɺΦϒδΣΫτͷࢀরઌνΣοΫ w
ࢀরઌ͕VOSFBDIBCMFͳΒHDMJTUͷඌʹ෮ؼ w HDMJTUͷऴʹ౸ୡͨ͠ʹ࠶ؼతͳϚʔΫྃ
$PNQBDU($)FBE wHD@QSFWͱHD@SFGDOUͰϝϞϦڞ༗ w HD@QSFWϦετ͔ΒཁૉΛআ͢ΔͨΊ w ࢼݧআதॱํ८ճ͚ͩͰ͍͍ w ϚʔΫϑΣʔζͰHDMJTU VOSFBDIBCMFؒҠಈ w
ϋοΫͰ͖ͦ͏ʁ
None
)BDLJOHNBSL w ॳظঢ়ଶHD@OFYUͱHD@SFGDOUͷΈͷ୯ํϦϯΫϦ ετ w ҰͭखલΛ֮͑ͳ͕Β८ճ w ੜଘ֬ఆͳΒHD@SFGDOUΛ௵ͯ͠HD@QSFWQSFW w VOSFBDIBCMFʹҠಈ͢Δͱ͖HD@SFGDOUΛ௵͢
w ෮ؼ࣌HD@SFGDOUͰ୯ํϦϯΫϦετԽ
ࢀরઌʹύλʔϯ͋Δɻ Ͳ͏ݟ͚Δ͔ɻ
HD@SFGDOU ࠶ w ࢼݧআ༻ࢀরΧϯτ w ෛͷఆ w 53"$,&%
ΑΓݹ͍ੈͷΦϒδΣΫτ w 6/53"$,&% ཧ֎ʣ w 5&/5"5*7&-:@6/3&"$)"#-& আީิ w 3&"$)"#-& ੜଘ֬ఆ w CJUΛผ్ͷϑϥάͰར༻
ঢ়ଶμΠΤοτ w 53"$,&% 6/53"$,&% w HDMJTUʹೖ͍ͬͯΔ͔Ͳ͏͔ͰϏοτඞཁ w HD@OFYU/6--Ͱཧ͞ΕͯΔ͔அ w 5&/5"5*7&-:@6/3&"$)"#-&
3&"$)"#-& w Ϗοτඞཁ w CJUΛผ్ͷϑϥάͰར༻ w ߹ܭϏοτඞཁ
5BHHFE1PJOUFS w ϙΠϯλมʹೖΔΞυϨεͷ͏ͪɺ͕ʢओʹʹʣݻ ఆ͍ͯ͠ΔϏοτΛϑϥάͳͲʹར༻͢Δ w ϑϥάΛͬͯϙΠϯλ͡Όͳ͍ΛೖΕΔ w ͍จࣈྻ CJUͳΒόΠτ·Ͱʁ
w w ྨࣅͷٕज़ුಈখͷ/B/ͷੑΛͬͨ /B/#PYJOH
ΞυϨεͷະ༻CJU w Y@ͷΞυϨε࣮࣭ͬͯόΠτͰʁ w ࠷ۙόΠτʹ֦ு͞ΕͨΒ͍͠ w ্ҐϏοτΛ৮Δͷকདྷੑʹෆ҆ w ͦͦΞʔΩґଘ w
.BMMPD݁Ռ͕όΠτBMJHOFE w ԼҐCJU௵ͤΔ w ϚΠφʔͳΞʔΩˍNBMMPD࣮Ͱෆ҆
HD@QSFWHD@SFGT HD@QSFWHD@SFGT 6OSFBDIBCMF $PMMFDUJOH طଘϑϥά
ࢀরΧϯτͷ্ք w HD@SFGDOU͕Φʔόʔϑϩʔ͠ͳ͍͔ߟ͑Δ w Ϣʔβʔۭؒͷ֤ϙΠϯλ͕ͭͷࢀরΛ࡞Δ w ΞυϨεۭ͕ؒCJUͰɺϙΠϯλ͕CZUFͳΒɺϙΠϯλ ͷͷ্ք?
w 0, w ΞυϨεۭ͕ؒCJUͰɺϙΠϯλ͕CZUFͳΒɺϙΠϯλ ͷ্ք? w CJU༨ͬͯͳ͍ w Ϣʔβʔۭؒී௨ʹ(#ʢCJUʣʹͳΔ
݁ w CJUڥͳΒ w ࢀরΧϯλ࣮֬ʹCJU༨ͬͯΔ w ΄΅࣮֬ʹϙΠϯλͷԼҐCJUΘΕͳ͍ w CJUڥͩͱ w
ࢀরΧϯτCJU༨ͬͯͳ͍ w CZUFΞϥΠϯͷNBMMPD࣮ͷةݥੑ͕૿͑Δ
ࠓޙͷํ w HD@OFYUͷԼҐCJUར༻͢Δ w HD@QSFWΛVJOU@Uʹ͢Δ w $PNQBDU࣮ͱطଘ࣮ΛΓସ͑Δ w CJUڥͰσϑΥϧτͰैདྷ࣮
ਓࡐืू w$1ZUIPOͷ։ൃʹڵຯ͕͋Δਓ wQZUIPOKQͷEJTDPSEαʔόʔʹ DPSFEFWνϟϯωϧ࡞Γ·ͨ͠ɻ wটίʔυ[VNDX