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
Stack Overflow - it's all about performance
Search
Marco Cecconi
November 07, 2014
Programming
730
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Stack Overflow - it's all about performance
Slides of the presentation given in November 2014 at Øredev
Marco Cecconi
November 07, 2014
More Decks by Marco Cecconi
See All by Marco Cecconi
Stack Overflow - It's all about performance - Codemotion Rome 2015
sklivvz
0
910
L'architettura di Stack Overflow, {codemotion} Milano 2014
sklivvz
0
710
Guerrilla Programming - code.talks 2014
sklivvz
0
720
The Architecture of Stack Overflow - Merge Lisbon 2014
sklivvz
4
430
The Architecture of Stack Overflow - Info Share 2014
sklivvz
3
680
The Architecture of Stack Overflow - Dev Sum 2014
sklivvz
2
690
The Architecture of Stack Overflow - QCon Japan 2014
sklivvz
2
260
The Architecture of StackOverflow - QCon China 2014
sklivvz
1
280
The Localization of Stack Overflow- QCon China 2014
sklivvz
1
440
Other Decks in Programming
See All in Programming
AIエージェントで 変わるAndroid開発環境
takahirom
2
680
ローカルLLMでどこまでコードが書けるか -縮小版 / How much code can be written on a local LLM Shortened
kishida
2
190
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
190
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
220
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9.1k
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
2
540
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
140
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
220
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
150
どこまでゆるくて許されるのか
tk3fftk
0
500
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.6k
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
320
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
150
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.4k
How STYLIGHT went responsive
nonsquared
100
6.2k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
340
YesSQL, Process and Tooling at Scale
rocio
174
15k
Side Projects
sachag
455
43k
GraphQLとの向き合い方2022年版
quramy
50
15k
The Limits of Empathy - UXLibs8
cassininazir
1
500
The Art of Programming - Codeland 2020
erikaheidi
57
14k
sira's awesome portfolio website redesign presentation
elsirapls
0
300
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Chasing Engaging Ingredients in Design
codingconduct
0
240
Transcript
Marco Cecconi @sklivvz http://sklivvz.com
ARCHITECTURE? WHAT THE HECK IS THAT?
None
None
Grew to 130 sites (+20%) Global site rank went from
#56 to #44 (-12)
None
*source: Quantcast, Alexa #50-‐ish network for traffic* (between imdb.com
and t.co)
None
None
None
None
None
None
None
None
None
None
None
None
None
http://stackexchange.com/performance
Agile
BAT!CAVE Code-build-test cycle running on home machine feature requests
BAT!CAVE DEV.SO Test on the real servers git push
BAT!CAVE DEV.SO META.SE 1-click deploy Users test on meta.stackexchange.com (“baking”)
git push
BAT!CAVE DEV.SO META.SE 1-click deploy HALP! git revert git push
BAT!CAVE DEV.SO NETWORK META.SE 1-click deploy git push 1-click deploy
It’s live! Tons of users use it…
BAT!CAVE DEV.SO NETWORK META.SE 1-click deploy git push 1-click deploy
…and provide new feature requests
Move fast and break things* * Not the home
page or question page :-)
Move fast and break things* * Not the home
page or question page :-)
Abusing caching
None
None
None
Our frienemy: The Garbage Collector
None
None
None
None
None
None
Cache abuse to help GC
None
None
Compiler abuse to help GC
None
None
None
None
IRepository<Order> orderRepository = container.Resolve<IRepository<Order>>();
Order order = orderRepository.Get(35); Ye olde dependency injection
None
IRepository<Order> repository = new ValidatingOrderRepository (
new SecurityRepository<Order> ( new LoggingRepository<Order> ( new CachingRepository<Order> ( new NHibernateRepository<Order> () ) ) ) ); Order order = repository.Get(35);
Our source code
None
None
None
None
None
None
YAGNI* * You Ain’t Gonna Need It!
Libraries and open source
None
None
None
Wrap code in libraries and open source it
None
None
“SUPERHERO” CODING
None
TOOLS LEVEL: “NINJA”
• Performance is a feature • Always.
Be. Shipping. • Use your circumstances. • Open source your libraries • 3 obscenely big monitors. KEY TAKEAWAYS
None
Marco Cecconi @sklivvz http://sklivvz.com we are hiring new ninjas from
anywhere in the world!