Skip to content

Using Complied Languages rather than Interpreted Languages #132

Open
@aoifefitton

Description

@aoifefitton

Describe the pattern you'd like to propose
Compiled languages “tend to be” the most energy-efficient - see paper linked in reference section.

Actions:
- Use a language as close to the machine as possible, example: c, cpp rather than python.
- Revise scripts/programs to replace e.g. python with e.g. cpp.

Describe specific emission impact from this pattern
Regarding SCI = ((E *I) * M) per R, E will decline with use of the likes of C/Cpp rather than Python.

More stats:
https://devblogs.microsoft.com/sustainable-software/language-impact-on-ui-apps/

References to this pattern
Compiled languages “tend to be” the most energy-efficient:
See table 3: https://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf?utm_source=thenewstack&utm_medium=website&utm_campaign=platform

https://thenewstack.io/which-programming-languages-use-the-least-electricity/

Additional context
C is low level in the sense that it enables direct manipulation of the computer hardware (at least as direct as the OS will allow). The most common implementations of Python, Java, etc. are at least one step further removed from the hardware because they run in a VM. If you want to manipulate the hardware from Python you'll have write an extension to the Python VM, usually in C or C++. There's no virtual machine interpreting C executable code. It's compiled into machine instructions, specific to a particular CPU, that are linked together and run on your hardware

Metadata

Metadata

Labels

proposed patternAn idea for a new pattern to submit

Type

No type

Projects

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions