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
As fast as C?
Search
Felix Geisendörfer
June 27, 2012
Programming
480
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
As fast as C?
Talk given at the London Node.js User Group.
Felix Geisendörfer
June 27, 2012
More Decks by Felix Geisendörfer
See All by Felix Geisendörfer
tus.io - Resumable File Uploads (Lightning Talk)
felixge
2
840
Programming flying robots with JavaScript
felixge
2
1k
Programming flying robots with JavaScript
felixge
0
660
Programming an AR Drone Firmware with JS (de)
felixge
1
660
Faster than C?
felixge
1
1.3k
Flying robots over a 10.000 mile distance with JavaScript.
felixge
0
550
Faster than C?
felixge
1
710
The power of node.js (with quadcopters)
felixge
0
550
Faster than C?
felixge
0
480
Other Decks in Programming
See All in Programming
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
210
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
160
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
310
えっ!!コードを読まずに開発を!?
hananouchi
0
190
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
3.4k
symfony/aiとlaravel/boost
77web
0
120
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
200
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
250
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
480
Contextとはなにか
chiroruxx
1
390
関数型プログラミングのメリットって何だろう?
wanko_it
0
160
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
330
Practical Orchestrator
shlominoach
191
11k
Chasing Engaging Ingredients in Design
codingconduct
0
230
Designing for Timeless Needs
cassininazir
1
320
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
260
Into the Great Unknown - MozCon
thekraken
41
2.6k
Between Models and Reality
mayunak
4
370
Writing Fast Ruby
sferik
630
63k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
420
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Leo the Paperboy
mayatellez
8
1.9k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Transcript
As fast as C? Writing high performance stream parsers in
JS. Felix Geisendörfer June 27, 2012 - London Node.js User Group
Thanks Forward!
Felix Geisendörfer
(@)felixge(.de)
core contributor
transloadit.com
~50 npm modules
node-formidable
node-mysql
Parser Geeks?
As fast as C?
Dubious Benchmarks Ahead!
Selecting 100k blog post rows
None
None
0 15000 30000 45000 60000 node-mysql-0.9.6 node-mysql-libmysqlclient-1.3.3 node-mysql-2.0.0-alpha3 53966 36429
20968 Rows per Second node-mysql-0.9.6 node-mysql-libmysqlclient-1.3.3 node-mysql-2.0.0-alpha3 https://github.com/felixge/mysql-client-benchmarks
0 17500 35000 52500 70000 node-mysql-0.9.6 node-mysql-libmysqlclient-1.3.3 node-mysql-2.0.0-alpha3 php-mysqlnd-5.13 68097
53966 36429 20968 Rows per Second node-mysql-0.9.6 node-mysql-libmysqlclient-1.3.3 node-mysql-2.0.0-alpha3 php-mysqlnd-5.13 https://github.com/felixge/mysql-client-benchmarks
Pure node.js parsers can compete with C Addons
Lessons Learned
Practice
Benchmark First
Buffering can be good!
Code!
it
Sponsors
They’re hiring! @dan_jenkins
Also hiring!
Questions? ” http://felixge.de/
[email protected]
@felixge
Algorithms
------------------------------4a62195680a6 Content-Disposition: form-data; name="upload1"; filename="file1.txt" Content-Type: text/plain file 1 data
... ------------------------------4a62195680a6 Content-Disposition: form-data; name="upload2"; filename="file2.txt" Content-Type: text/plain file 2 data ... ------------------------------4a62195680a6-- Example: Multipart (File Uploads)
Lots and lots of file data ... ------------------------------4a62195680a6 Naive Boundary
Search: One byte at a time