• Home
  • Syllabus
  • Schedule
  • Slides
  • All-Hands

On this page

  • Introduction
    • Laptop Running macOS with an Apple M2 Silicon Chip
    • Linux
  • Conclusion
  • Use Case

How do changes in battery level and power mode influence time overhead when performing list containment checking?

post
containment checking
lists
Authors

Ochirsaikhan Davaajambal

Luke Barker

Evan Nelson

Keller Liptrap

Rebekah Rudd

Chloe Bonson

Published

February 16, 2024

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
Container Battery Avg1 Avg2 Avg3
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
Container Battery Avg1 Avg2 Avg3
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
Container Battery Avg1 Avg2 Avg3
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
Container Battery Avg1 Avg2 Avg3
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 Performance: 100%-50%

Battery
Cntainer Type Run 1 Run 2 Run 3 Average 4 Average 5 Average 6
Lst 2.3012775930001226 2.2887458950003747 2.4828621830001794 0.23012775930001225 0.22887458950003747 0.24828621830001793
Tple 0.07334991700008686 0.08491070800027956 0.07070190199965509 0.007334991700008686 0.008491070800027955 0.007070190199965509
St 45.5305170900001 44.5466726059999 44.404793358999996 4.553051709000011 4.45466726059999 4.440479335899999

Battery Power Saver: 100%-50%

Battery
Container Type Run 1 Run 2 Run 3 Average 4 Average 5 Average 6
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 Performance: 50%-0%

Battery
Container Type Run 1 Run 2 Run 3 Average 4 Average 5 Average 6
List 1.1069676050028647 1.0762507260005805 1.06999287900544 0.11069676050028647 0.10762507260005805 0.106999287900544
Tuple 0.6894591079981183 0.6338428290036973 0.6518652749946341 0.06894591079981183 0.06338428290036972 0.06518652749946341
Set 68.42665962999996 43.58323045900005 43.433679228000074 6.842665962999996 4.358323045900005 4.343367922800008

Battery Power Saver: 50%-0%

Battery
Container Type Run 1 Run 2 Run 3 Average 4 Average 5 Average 6
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

Algorithmology