Search Results


12 matches found for 'cpu'

Virtual Memory

What is Virtual Memory? Virtual Memory is best described as a swap file on your hard disk that holds memory information for your running applications. Memory is structured and managed in two different ways; paging and segmentation.


Python Essentials

Scopes Python has closures, similar to Javascript, since functions are first class objects. But unlike Javascript, there are some subtle gotchas in regards to working with function scopes. nonlocal vs.


Asynchrony vs. Multithreading

Asynchrony Asynchronous programming, also known as event-driven programming, is built on foundations of Futures/promises. The basic idea is that instead of having a thread wait for a blocked call to finish (i.


OS 101

Kernel A kernel is the core software application of the operating system. It is generally not intended to be interacted with from a user-level perspective. Some responsibilities it can handle: Hardware management e.


PostgreSQL - a powerhouse relational database

... tweaking of the database engine. It is also incredibly vertically scalable - adding more memory, cpu cores, and disk space gives it a significant boost in capabilities. On average commodity hardware, we can expect the ballpark performance to be as follows: Read Performance Index reads can range from 10,000 TPS - 20,000 TPS per CPU core Complex join queries: Around 1,000 - 2,000 TPS Full table scan: This is naturally slow, but is especially egregious if the records cannot fit into memory Write Performance Single-table INSERT INTO: ~5,000 TPS per CPU core Single-table UPDATE (plus index updates): ~1,000 TPS per CPU core Multi-table/index writes from complex transactions: ~100 TPS Bulk operations: ~10,000 TPS Bottlenecks PostgreSQL performance on a single node will degrade if any of the following is true: Size of all data cannot be contained in memory Disk space being exceeded Disk I/O The write performance above is bounded by disk I/O constraints while writing to the WAL Complex joins or updates to multiple tables/indexes are always going to be a bottleneck If records exceed 10 million: Queries and joins start to stagnate Full text-search also starts to degrade ACID Guarantees PostgreSQL is widely known for its ACID properties - Atomicity, Consistency, Isolation, and Durability.


DataFrames (a software engineer's perspective)

What is a DataFrame? A DataFrame is a special data structure used primarily by data scientists and machine learning algorithms. It contains row and column data in tabular fashion by storing metadata about each column and row.


Stack Memory vs. Heap Memory

Stack Memory The stack memory is used within a context of a thread. It is called stack memory since memory blocks are allocated in LIFO order, based on the function call stack. Each stack memory block houses data for local variables, references, and other bookkeeping data.


Web Development 101

HTTP vs. HTTPS HTTP stands for Hypertext Transfer Protocol. It typically runs on TCP port 80. It is a protocol for sending data through browsers in the form of webpages and such. One major flaw with HTTP is that it is vulnerable to man in the middle attacks.


Seattle Conference on Scalability: YouTube Scalability

Notes Apache isn't that great at serving static content for a large number of requests vs. NetScaler load balancing Python is fast enough There are many other bottlenecks such as waiting for calls from DB, cache, etc.


Working with Production at Amazon Retail Website

Background Prior to working at Amazon, I was developing software at a couple of startups, mostly working with products that were in the conceptual phase or the development phase. One of the things I desired the most was to have exposure to products that were live in production or to bring a development project to production.


NumPy vs. Pandas, and other flavors (Dask, Modin, Ray)

NumPy NumPy is a Python library for numerical computing that offers multi-dimensional arrays and indices as data structures and additional high-level math utilities. ndarray The unique offering of NumPy is the ndarray data structure, which stands for n-dimensional array.


Quick Numbers in Software Engineering Cheatsheet

Preface This article is a cheatsheet and a collection of tips/tricks for doing back of the envelope calculations. Numbers Data Types to Bytes Note: keep in mind that these are general estimates.