meta data for this page
This is an old revision of the document!
Is your software designed with keeping sustainability in mind?
You can use the following guide to check various aspects of your backend from a sustainable point of view!
Code Optimization
Exceeds Expectations | Meets Expectations | Below Expectations | |
---|---|---|---|
Code Optimization | Code appears to be optimized at a high level, and appears to have been thoroughly considered. Data structures and advanced algorithms are utilized well | Code is somewhat optimized, and appears to have been considered during development. Data structures and algorithms are used some for this purpose | Code is not optimized well, and it does not appear code optimization was considered. Outdated and poorly chosen data structures and algorithms are used. |
→ Code Optimization Sub Topics
Exceeds Expectations | Meets Expectations | Below Expectations | Metric | |
---|---|---|---|---|
Computational Overhead | Computational overhead is at a minimum | Some computational overhead is present, but is considered to be at reasonable levels | High computational overhead is present | Amount of memory (RAM) used during operation |
Caching | Effective use of caching related to data storage | Some caching has been used to ensure efficient data storage | Little caching has been used, and data storage is not handled in an efficient manner | Time taken to respond to a request |
Resource Management
Exceeds Expectations | Meets Expectations | Below Expectations | |
---|---|---|---|
Resource Management | Advanced techniques are successfully utilized, such as garbage collection tuning, efficient memory management, and connection pooling s | Basic techniques are successfully utilized, such as basic memory management , and closing of connections | Resource management techniques are poorly utilized, or not used at all, leading to resource waste. |
→ Resource Management Sub Topics
Exceeds Expectations | Meets Expectations | Below Expectations | Metrics | |
---|---|---|---|---|
Operations | CPU and I/O operations are effectively, and efficiently managed | CPU and I/O operations have been considered, and appear to be efficiently managed in some cases. | Inefficient management of CPU and I/O operations | Percentage of CPU used during operation (eg computing the total number of food that are about to be expired) Time it takes to query data Bandwidth usage |
Processing | Asynchronous processing is utilized effectively | Asynchronous processing is somewhat utilize | Asynchronous processing not not appear to be used, or is used incorrectly | Number of requests that can be handled concurrently per second |
Energy Efficiency
Exceeds Expectations | Meets Expectations | Below Expectations | |
---|---|---|---|
Energy Efficiency | Successfully implementing approaches that result in energy being used in an efficient manner throughout the entire program | Successfully implementing approaches that result in energy being used in an efficient manner throughout part of the program | Energy efficiency did not appear to gave been considered, or was implemented incorrectly |
→ Energy Efficiency Sub Topics
Exceeds Expectations | Meets Expectations | Below Expectations | |
---|---|---|---|
Energy Profiling Tools | Effectively uses energy profiling tools to optimize and keep track of energy usage and consumption | Effectively uses energy profiling tools to optimize and keep track of most energy usage and consumption | Does not effectively uses energy profiling tools to optimize and keep track of energy usage and consumption |
Updating metrics | Consistently updates energy related metrics, such that the energy usage can be monitored | Consistently updates some energy related metrics, such that the energy usage can be monitored | Does not update energy related metrics |
Performance and Scalability
Exceeds Expectations | Meets Expectations | Below Expectations | |
---|---|---|---|
Code Optimization | Solution scales efficiently without significant increase in energy consumption | Solution scales with a moderate increase in energy consumption | Solution scales poorly with significant increase in energy consumption |
→ Performance and Scalability Sub Topics
Exceeds Expectations | Meets Expectations | Below Expectations | |
---|---|---|---|
Optimize Response Time | Response time consistently < 100ms | Response time consistently between 100ms and 200ms | Response time consistently > 200ms |
Improve Caching Efficiency | Cache hit rate > 90%, significantly reducing database load. | Cache hit rate between 70% and 90%, moderately reducing database load. | Cache hit rate < 70%, minimal impact on reducing database load. |
Benchmarking | Benchmarking has been effectively used to identify and resolve inefficiencies in the code | Benchmarking has been used some to identify and resolve inefficiencies in the code, or benchmarking has been used, but was not successful in identifying and resolving inefficiencies in the code | Benchmarks do not appear to have been used or considered, or they were used in a primarily incorrect manner |
---|
API Service
Handle Requests | Perform Operations | Query Data |
---|---|---|
Average time taken to respond to a request | Amount of energy consumed per unit of computation | Number of read and write operations per second |
Percentage of requests that result in errors | Amount of memory (RAM) used during operation | Data Size |
Amount of data transferred relative to the amount of useful information conveyed | Percentage of CPU used during operation | Average time the CPU waits for I/O operations to complete |
Number of memory leaks |