Skip to content

Hardware Vs. Algorithms ... #12

@mmcky

Description

@mmcky

The aim of todays brief hardware discussion was to provide some insight into the interface that sits between our programming languages and the underlying machine that we run our programs on.

Python uses a c program python to interpret the code that you write and is responsible for executing your program. This interpreted step allows for neat features like dynamic typing and automatic memory allocation at the expense of greater overheads.

C sits one level down this chain and is a compiled and statically typed language. As a programmer you are essentially providing more specific code when writing in C which is one reason that programs run faster as there are less overheads for type checking operations etc at runtime.

However, While there are a lot of ways to improve performance by considering the hardware level - the best place to start is often at the algorithmic level. Thinking of smart ways to perform your logic with the least expensive number of instructions is often the best way to greatly improve performance. Computer Science spends a lot of time thinking about these types of problems.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions