meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ixc2024:tech:tools:ismysolutiongreenenough [2024/05/23 14:17] jacobwhiteixc2024:tech:tools:ismysolutiongreenenough [2024/05/23 15:26] (current) hibaa
Line 1: Line 1:
 +====== 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!
  
-{{:ixc2024:tech:tools:1000061986.jpg?200|}}+===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                                                                                   |
  
-{{:ixc2024:tech:tools:1000061987.jpg?200|}} 
  
-{{:ixc2024:tech:tools:1000061988.jpg?200|}}