Schon eine einzelne Applikation, die nicht in Hinblick auf ihr Energiesparpotenzial optimiert wurde, kann die Gesamtbilanz der Energieeinsparungen deutlich verschlechtern. In einer Packet-Inspection-Applikation beispielsweise, können Arbeits-Threads vorgesehen sein, welche die Dekodierung, Analyse und das Lookup übernehmen, sobald neue Datenpakete eintreffen. Ohne Optimierungen hinsichtlich der Energieeffizienz könnte die Applikation die Arbeits-Threads in einer Abfrageschleife belassen, während diese auf das Eintreffen neuer Datenpakete warten. Der Prozessor, der diese Threads verwaltet, bliebe ständig aktiv bei vollem Energieverbrauch. Eine für verbesserte Energieeffizienz optimierte Applikation würde es erlauben, diese Threads zu blocken und zum Scheduler zurückzukehren, solange auf das nächste Event gewartet wird. In diesem Fall könnte der Prozessor im Schlafzustand verweilen, bis er wieder gebraucht wird, was deutlich energieeffizienter ist.
Die Auswahl der Cores ist eine weitere Kompromisslösung, mit der Benutzer beeinflusst werden können das Verhältnis Energieaufnahme versus Leistung zu beeinflussen. Bei optimaler Programmierung verbrauchen schlafende Cores nur ein Minimum an Energie. Da Threads den zur Verfügung stehenden Cores zugewiesen werden, kann es zu Abstrichen bei der Performance kommen, da bestimmte Ressourcen geteilt werden müssen. Beispielsweise teilen sich zwei Hyperthreaded-Core-Geschwister einen Großteil derselben Ressourcen wie Cores, I/Os und Cache in einer einzelnen CPU. Wird eine zweite CPU hinzugefügt, verdoppelt dies den Cache und das Cache-Sharing, was je nach Applikation gewünscht sein kann oder nicht. Standardmäßig verteilt der Scheduler des Betriebssystems die Threads so breit wie möglich, obwohl dies durch die CPU-Affinität justiert werden kann. Wenn Threads Daten teilen, ist es ratsam, dass diese Threads so dicht wie möglich beieinander gehalten werden, beispielsweise indem sie auf Cores im selben Pa-ckage und gemeinsamem Cache abgewickelt werden. Auf der anderen Seite profitieren viele Applikationen insbesondere dann, wenn sie so wenig Hardware wie möglich teilen. In einem Dual-Prozessor-Server beispielsweise verdoppelt das Aktivieren des zweiten Packages die Cachegröße, was in den meisten Fällen einen erheblichen Performance-Zuwachs bedeutet.