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
110
New dict implementation in Python 3.6 (KLab Tech Meetup 2017-09-04)
methane
1
740
New dict implementation in Python 3.6
methane
2
1.6k
Other Decks in Technology
See All in Technology
コンテキストエンジニアリングとは? 考え方と応用方法
findy_eventslides
4
900
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
140
GA technologiesでのAI-Readyの取り組み@DataOps Night
yuto16
0
270
データエンジニアがこの先生きのこるには...?
10xinc
0
450
リーダーになったら未来を語れるようになろう/Speak the Future
sanogemaru
0
280
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
11
77k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
BtoBプロダクト開発の深層
16bitidol
0
330
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
10
4.5k
非エンジニアのあなたもできる&もうやってる!コンテキストエンジニアリング
findy_eventslides
3
910
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
6
3.5k
E2Eテスト設計_自動化のリアル___Playwrightでの実践とMCPの試み__AIによるテスト観点作成_.pdf
findy_eventslides
1
330
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
The Invisible Side of Design
smashingmag
301
51k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The World Runs on Bad Software
bkeepers
PRO
71
11k
Writing Fast Ruby
sferik
629
62k
Six Lessons from altMBA
skipperchong
28
4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Docker and Python
trallard
46
3.6k
Faster Mobile Websites
deanohume
310
31k
Fireside Chat
paigeccino
40
3.7k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
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