Subscribe
Sign in
Home
Podcast
Notes
Chat
CPython Internals
AI
Computer Architecture
Kernel Internals
Contact Me
Courses
Archive
About
Latest
Top
Discussions
Python Performance: Why 'if not list' is 2x Faster Than Using len()
Discover why 'if not mylist' is twice as fast as 'len(mylist) == 0' by examining CPython's VM instructions and object memory access patterns.
22 hrs ago
•
Abhinav Upadhyay
10
Share this post
Confessions of a Code Addict
Python Performance: Why 'if not list' is 2x Faster Than Using len()
Copy link
Facebook
Email
Notes
More
February 2025
My Top 15 OS Books: From Theory and Implementation to Systems Programming
A personal guide to the most useful books for understanding operating systems
Feb 18
•
Abhinav Upadhyay
31
Share this post
Confessions of a Code Addict
My Top 15 OS Books: From Theory and Implementation to Systems Programming
Copy link
Facebook
Email
Notes
More
6
Recording: How Modern CPUs Execute Your Code: A Deep Dive into Performance
Watch now | We concluded the latest live session yesterday.
Feb 10
•
Abhinav Upadhyay
16
Share this post
Confessions of a Code Addict
Recording: How Modern CPUs Execute Your Code: A Deep Dive into Performance
Copy link
Facebook
Email
Notes
More
1:21:15
January 2025
A Software Engineer's Guide to Reading Research Papers
My personal framework for reading research papers.
Jan 28
•
Abhinav Upadhyay
122
Share this post
Confessions of a Code Addict
A Software Engineer's Guide to Reading Research Papers
Copy link
Facebook
Email
Notes
More
Launching Live Courses on Systems Programming
Modern software development has created a paradox: we build increasingly complex systems, yet fewer engineers understand how these systems work under…
Jan 25
•
Abhinav Upadhyay
44
Share this post
Confessions of a Code Addict
Launching Live Courses on Systems Programming
Copy link
Facebook
Email
Notes
More
Linux Context Switches: The Truth About TLB Flushes
Watch now (22 mins) | Is the TLB really flushed during context switches?
Jan 17
•
Abhinav Upadhyay
13
Share this post
Confessions of a Code Addict
Linux Context Switches: The Truth About TLB Flushes
Copy link
Facebook
Email
Notes
More
21:34
Live Session: How Modern CPUs Execute Your Code: A Deep Dive into Performance
I hope you enjoyed the recent article on how Unix spell was designed to lookup a 250kB dictionary on a 64kB machine. Writing it wore me down.
Jan 14
•
Abhinav Upadhyay
7
Share this post
Confessions of a Code Addict
Live Session: How Modern CPUs Execute Your Code: A Deep Dive into Performance
Copy link
Facebook
Email
Notes
More
How Unix Spell Ran in 64kB RAM
How do you fit a dictionary in 64kb RAM? Unix engineers solved it with clever data structures and compression tricks. Here's the fascinating story…
Jan 12
•
Abhinav Upadhyay
83
Share this post
Confessions of a Code Addict
How Unix Spell Ran in 64kB RAM
Copy link
Facebook
Email
Notes
More
1
December 2024
Linux Context Switching Internals: Part 1 - Process State and Memory
How does the Linux kernel represent processes and their state: A breakdown of task_struct and mm_struct
Dec 29, 2024
•
Abhinav Upadhyay
47
Share this post
Confessions of a Code Addict
Linux Context Switching Internals: Part 1 - Process State and Memory
Copy link
Facebook
Email
Notes
More
Reflections on 2024 and Exciting Plans for 2025
Looking back at what we accomplished in 2024, and plans for 2025
Dec 18, 2024
•
Abhinav Upadhyay
22
Share this post
Confessions of a Code Addict
Reflections on 2024 and Exciting Plans for 2025
Copy link
Facebook
Email
Notes
More
16
Recording: Live Coding a Bytecode Compiler for Python
Yesterday we concluded the live session on live coding a bytecode compiler and interpreter (VM) for a tiny subset of Python in Python. Even though I…
Dec 15, 2024
•
Abhinav Upadhyay
15
Share this post
Confessions of a Code Addict
Recording: Live Coding a Bytecode Compiler for Python
Copy link
Facebook
Email
Notes
More
2:57:12
Context Switching and Performance: What Every Developer Should Know
Understand how context switching affects CPU registers, caches, TLB, and pipeline performance, and learn strategies to mitigate performance penalties
Dec 12, 2024
•
Abhinav Upadhyay
40
Share this post
Confessions of a Code Addict
Context Switching and Performance: What Every Developer Should Know
Copy link
Facebook
Email
Notes
More
2
Share
Copy link
Facebook
Email
Notes
More
This site requires JavaScript to run correctly. Please
turn on JavaScript
or unblock scripts