Skip to content

Commit

Permalink
Included SME reviews
Browse files Browse the repository at this point in the history
  • Loading branch information
Markus Seidl committed Nov 8, 2022
1 parent 9ea7864 commit 22d0ce9
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions docs/catalog/cloud/use-compiled-languages.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ tags:
- cloud
- role:cloud-engineer
- size:small
- programming-language

---

# Use compiled languages
Expand All @@ -17,7 +19,8 @@ Interpreted languages need to be parsed, compiled and executed when the applicat

## Solution

Use compiled languages whenever possible or compile interpreted languages.
Use compiled languages (like Go, Rust, Java or others) whenever possible or compile interpreted languages.


## SCI Impact

Expand All @@ -26,17 +29,18 @@ Use compiled languages whenever possible or compile interpreted languages.

Concerning the SCI equation, use compiled languages will impact as follows:

- `E`: The embodied carbon emissions will be reduced, as compiled binaries tend to be smaller then the sources they are compiled from
- `I`: Running compiled binaries is more energy efficient and uses less energy which outweighs the energy consumed in compiling it to binary upfront.
- `E`: Running compiled binaries is more energy efficient and uses less energy which outweighs the energy consumed in compiling it to binary upfront
- `M`: The embodied carbon emissions will be reduced, as compiled binaries tend to be smaller then the sources they are compiled from

## Assumptions

- There is the assumption that the execution environment allows usage of compiled languages, this is not always the case (for example web browsers)
- Use benchmarks to determine if the application use case benefits from using a compiled language
- Use benchmarks to determine if the application use case benefits from using a compiled language.

## Considerations

- Some interpreted languages provide ways to compile these into binary (for example GraalVM for Java)
- Some interpreted languages provide ways to be compiled into binary (for example GraalVM for Java, Python and more)
- Consider factoring in compile time when doing benchmarks

## References

Expand Down

0 comments on commit 22d0ce9

Please sign in to comment.