Tag: performance


  • Overview Indexing is a data structure technique used to quickly locate data without having to search every row in a database table. An index is like a table of contents for a database, storing a sorted version of a column’s values and a pointer to the original row. Core Concepts B-Trees (Balanced Trees): The most…

  • Overview Memory management is the process of controlling and coordinating computer memory, assigning portions (blocks) to various running programs to optimize overall system performance. Core Concepts The Stack: Stores local variables and function call frames. Fast access, automatic allocation/deallocation. Limited size (can lead to Stack Overflow). The Heap: Stores objects, arrays, and dynamically allocated memory.…

  • Overview While often used interchangeably, concurrency and parallelism are different. Concurrency is about dealing with many things at once (structure), while Parallelism is about doing many things at once (execution). Core Concepts Process vs. Thread: Process: An independent program with its own memory space. Thread: A “lightweight” unit of execution within a process; threads share…

  • Overview Time complexity is a theoretical measure that describes the amount of computer time it takes to run an algorithm as a function of the length of the input. Instead of measuring actual seconds (which vary by hardware), time complexity counts the number of elementary operations performed. Core Concepts Elementary Operations: Operations that take a…

  • Overview Big O notation is a mathematical notation used to describe the limiting behavior of a function when the argument tends towards a particular value or infinity. In computer science, it is used to classify algorithms according to how their run time or space requirements grow as the input size ($n$) grows. Core Concepts Time…