Introduction
Our experiment design tested how the battery life and the different power modes on different systems will affect the time overhead when doing containment checking. To complete this experiment, we tested three different systems, with the battery percent in between 0-50 for one run and 50-100 in another run. We also tested these battery percentages in different battery modes. When running the containment check program, to make sure that our results would be accurate, we made sure to keep the size of the data container and the maximum number in the container the same. For each battery percentage range we checked, we ran it with the list, tuple, and set container to give ourselves more results.
Laptop Running macOS with an Apple M2 Silicon Chip
Battery Standard: 100%-50%
Battery
List |
79% |
0.24855326251126825 |
0.18573184160050005 |
0.1942872375017032 |
Tuple |
79% |
0.21359667500946672 |
0.16479471251368522 |
0.1867699917173013 |
Set |
79% |
6.27369228338357 |
8.085674125002697 |
9.540377816697582 |
Low Power Mode: 100%-50%
Low
List |
79% |
0.5327608833089471 |
0.49276689169928434 |
0.6808747082948685 |
Tuple |
78% |
0.3184867999982089 |
0.34051328341010956 |
0.33640604161191734 |
Set |
78% |
12.248099775006995 |
8.210522720799782 |
7.995867279078811 |
Battery Standard: 50%-0%
Battery
List |
49% |
0.2867575827265717 |
0.32492648450573702 |
0.31956718364547821 |
Tuple |
48% |
0.2567254637177819 |
0.24857116573929101 |
0.27850027485011734 |
Set |
47% |
7.8735638201004711 |
9.75930171236645911 |
9.79827364919374719 |
Low Power Mode: 50%-0%
Low
List |
49% |
0.3506827294759123 |
0.40076919374749441 |
0.41234592974895092 |
Tuple |
48% |
0.2998677396648183 |
0.31275829205547324 |
0.33478764888192649 |
Set |
47% |
14.869479553728451 |
12.8693757284940184 |
12.5799653409105824 |
These results indicate that there is a negative (or inverse) relationship between runtime and battery level/mode. This means that, as the battery level decreases, the time overhead to perform containment checking increases. Similarly, when low power mode is engaged, the run time also increases. With this mode engaged, the device is not running on all cylinders as a way to preserve battery life. This certainly plays a role in the expected output. Extrapolating these results could serve beneficial in examining the ratios for various increases, however, for my smaller set of data, time overhead seemed around double for most points, on average. All containers seemed to follow this trend, however, set
saw the most hindrance from this, as it ran in a manner which became more impractical compared to other containers.
Linux
Battery Power Saver: 100%-50%
Battery
List |
6.147671203999835 |
5.733897006999996 |
5.689872683999965 |
0.6147671203999835 |
0.5733897006999996 |
0.5689872683999966 |
Tuple |
1.875840222000079 |
1.9724632289999136 |
2.1394873950002875 |
0.1875840222000079 |
0.19724632289999136 |
0.21394873950002874 |
Set |
117.75040925899998 |
116.36598679999997 |
114.28739855599997 |
11.775040925899997 |
11.636598679999997 |
11.428739855599996 |
Battery Power Saver: 50%-0%
Battery
List |
5.204463440000154 |
5.213794599000039 |
5.352068572000007 |
0.5204463440000154 |
0.5213794599000039 |
0.5352068572000007 |
Tuple |
5.006331778999993 |
5.013705148000099 |
4.976093853000066 |
0.5006331778999993 |
0.5013705148000099 |
0.4976093853000066 |
Set |
126.87905422300003 |
128.8645836879998 |
122.50003941199998 |
12.687905422300002 |
12.886458368799982 |
12.250003941199997 |
This data shows that the battery strength does influence runtime. The runtime for List
and Tuple
were faster when the battery was lower; however the runtime for Set
increased when the battery was lower. Obviously, the containers are different and so this might be the reason for these differences. It is surprising that List
and Tuple
took longer comparatively while Set
was shorter comparatively. To understand these results — because they seem contradictory — it would be important to run more experiments with both existing and new data structures and data types. Future experiments might include testing these same data types with different types of data being provided as input. If that experiment yielded similar time results we would know that the difference in these data sets has more to do with the data structures rather than the input data.
Conclusion
From conducting this experiment, we found out that the battery life and the power mode do have effects on the run time. When running the containment checking program with the lower battery percentage range, it took longer to run for the set, tuple, and list approach than with the higher battery percentage. It also took longer to run in different battery modes than other ones. The main takeaway from this experiment is that the battery modes/percentage does have an affect on the time overhead of running containment checking.
Use Case
Comparison between hardware can be important for individuals and companies. Individuals looking to perform tasks on a laptop might be interested in how long it takes to run programs for their needs as a programmers. Companies that intend to do programming and development might look at this type of data to determine what computer they may want to get their employees. Looking at the different battery levels also allows individuals and companies to see how energy-efficient a computer is which can help with productivity. Overall determining what system will be the fastest can increase performance and productivity. Knowing what circumstances will create a faster run can be very important for individuals and companies. Creating the fastest environment within ones computer will allow the fastest runtime which will can be critical in the real world.
Back to top