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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Marco Cecconi
November 07, 2014
Programming
2
720
Stack Overflow - it's all about performance
Slides of the presentation given in November 2014 at Øredev
Marco Cecconi
November 07, 2014
Tweet
Share
More Decks by Marco Cecconi
See All by Marco Cecconi
Stack Overflow - It's all about performance - Codemotion Rome 2015
sklivvz
0
890
L'architettura di Stack Overflow, {codemotion} Milano 2014
sklivvz
0
690
Guerrilla Programming - code.talks 2014
sklivvz
0
680
The Architecture of Stack Overflow - Merge Lisbon 2014
sklivvz
4
420
The Architecture of Stack Overflow - Info Share 2014
sklivvz
3
660
The Architecture of Stack Overflow - Dev Sum 2014
sklivvz
2
660
The Architecture of Stack Overflow - QCon Japan 2014
sklivvz
2
250
The Architecture of StackOverflow - QCon China 2014
sklivvz
1
270
The Localization of Stack Overflow- QCon China 2014
sklivvz
1
420
Other Decks in Programming
See All in Programming
並行開発のためのコードレビュー
miyukiw
0
170
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.1k
Architectural Extensions
denyspoltorak
0
290
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
170
CSC307 Lecture 02
javiergs
PRO
1
780
ぼくの開発環境2026
yuzneri
0
230
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
430
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
190
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
700
Featured
See All Featured
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
730
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Writing Fast Ruby
sferik
630
62k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Context Engineering - Making Every Token Count
addyosmani
9
660
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
270
GraphQLとの向き合い方2022年版
quramy
50
14k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
210
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!