meta data for this page
  •  

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 OptimizationCode appears to be optimized at a high level, and appears to have been thoroughly considered. Data structures and advanced algorithms are utilized wellCode is somewhat optimized, and appears to have been considered during development. Data structures and algorithms are used some for this purposeCode 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 OverheadComputational overhead is at a minimum Some computational overhead is present, but is considered to be at reasonable levelsHigh computational overhead is present Amount of memory (RAM) used during operation
Caching Effective use of caching related to data storageSome caching has been used to ensure efficient data storage Little caching has been used, and data storage is not handled in an efficient mannerTime taken to respond to a request

Resource Management

Exceeds Expectations Meets Expectations Below Expectations
Resource ManagementAdvanced techniques are successfully utilized, such as garbage collection tuning, efficient memory management, and connection pooling sBasic techniques are successfully utilized, such as basic memory management , and closing of connectionsResource 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
OperationsCPU and I/O operations are effectively, and efficiently managedCPU 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
ProcessingAsynchronous processing is utilized effectively Asynchronous processing is somewhat utilize Asynchronous processing not not appear to be used, or is used incorrectlyNumber of requests that can be handled concurrently per second

Energy Efficiency

Exceeds Expectations Meets Expectations Below Expectations
Energy EfficiencySuccessfully implementing approaches that result in energy being used in an efficient manner throughout the entire programSuccessfully implementing approaches that result in energy being used in an efficient manner throughout part of the programEnergy efficiency did not appear to gave been considered, or was implemented incorrectly

→ Energy Efficiency Sub Topics

Exceeds Expectations Meets Expectations Below Expectations
Energy Profiling ToolsEffectively uses energy profiling tools to optimize and keep track of energy usage and consumptionEffectively uses energy profiling tools to optimize and keep track of most energy usage and consumptionDoes 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 OptimizationSolution scales efficiently without significant increase in energy consumptionSolution scales with a moderate increase in energy consumptionSolution 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 EfficiencyCache 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.
BenchmarkingBenchmarking has been effectively used to identify and resolve inefficiencies in the codeBenchmarking 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 codeBenchmarks 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 computationNumber 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 conveyedPercentage of CPU used during operation Average time the CPU waits for I/O operations to complete
Number of memory leaks