Skip to content

Commit

Permalink
AutoBenchmark: regenerate across all microcontrollers
Browse files Browse the repository at this point in the history
  • Loading branch information
bxparks committed Jun 26, 2023
1 parent 7b84e05 commit 0bfcaca
Show file tree
Hide file tree
Showing 10 changed files with 1,121 additions and 649 deletions.
901 changes: 560 additions & 341 deletions examples/AutoBenchmark/README.md

Large diffs are not rendered by default.

121 changes: 78 additions & 43 deletions examples/AutoBenchmark/esp32.txt
Expand Up @@ -2,57 +2,92 @@ SIZEOF
sizeof(LocalDate): 4
sizeof(LocalTime): 4
sizeof(LocalDateTime): 8
sizeof(TimeOffset): 2
sizeof(OffsetDateTime): 10
sizeof(TimeOffset): 4
sizeof(OffsetDateTime): 12
sizeof(TimeZone): 12
sizeof(TimeZoneData): 8
sizeof(ZonedDateTime): 24
sizeof(ZonedExtra): 16
sizeof(ZonedExtra): 24
sizeof(TimePeriod): 4
sizeof(BasicZoneProcessor): 208
sizeof(ExtendedZoneProcessor): 608
sizeof(BasicZoneProcessorCache<1>): 216
sizeof(ExtendedZoneProcessorCache<1>): 616
sizeof(BasicZoneManager): 12
sizeof(ExtendedZoneManager): 12
sizeof(internal::ZoneContext): 24
sizeof(basic::ZoneEra): 16
sizeof(basic::ZoneInfo): 24
sizeof(basic::ZoneRule): 12
sizeof(basic::ZonePolicy): 8
sizeof(basic::ZoneRegistrar): 8
sizeof(BasicZoneProcessor::Transition): 36
sizeof(ExtendedZoneProcessor::Transition): 52
sizeof(ExtendedZoneProcessor::TransitionStorage): 452
sizeof(ExtendedZoneProcessor::MatchingEra): 32
Basic:
sizeof(basic::ZoneContext): 28
sizeof(basic::ZoneEra): 16
sizeof(basic::ZoneInfo): 24
sizeof(basic::ZoneRule): 9
sizeof(basic::ZonePolicy): 8
sizeof(basic::ZoneRegistrar): 8
sizeof(BasicZoneProcessor): 208
sizeof(BasicZoneProcessorCache<1>): 216
sizeof(BasicZoneManager): 12
sizeof(BasicZoneProcessor::Transition): 36
Extended:
sizeof(extended::ZoneContext): 28
sizeof(extended::ZoneEra): 16
sizeof(extended::ZoneInfo): 24
sizeof(extended::ZoneRule): 9
sizeof(extended::ZonePolicy): 8
sizeof(extended::ZoneRegistrar): 8
sizeof(ExtendedZoneProcessor): 720
sizeof(ExtendedZoneProcessorCache<1>): 728
sizeof(ExtendedZoneManager): 12
sizeof(ExtendedZoneProcessor::Transition): 60
sizeof(ExtendedZoneProcessor::TransitionStorage): 516
sizeof(ExtendedZoneProcessor::MatchingEra): 44
Complete:
sizeof(complete::ZoneContext): 28
sizeof(complete::ZoneEra): 20
sizeof(complete::ZoneInfo): 24
sizeof(complete::ZoneRule): 12
sizeof(complete::ZonePolicy): 8
sizeof(complete::ZoneRegistrar): 8
sizeof(CompleteZoneProcessor): 720
sizeof(CompleteZoneProcessorCache<1>): 728
sizeof(CompleteZoneManager): 12
sizeof(CompleteZoneProcessor::Transition): 60
sizeof(CompleteZoneProcessor::TransitionStorage): 516
sizeof(CompleteZoneProcessor::MatchingEra): 44
BENCHMARKS
EmptyLoop 1.200
LocalDate::forEpochDays() 0.800
LocalDate::toEpochDays() 0.250
LocalDate::toEpochDays() 0.350
LocalDate::dayOfWeek() 0.400
OffsetDateTime::forEpochSeconds() 1.700
OffsetDateTime::toEpochSeconds() 1.450
OffsetDateTime::forEpochSeconds() 1.350
OffsetDateTime::toEpochSeconds() 1.500
ZonedDateTime::toEpochSeconds() 1.350
ZonedDateTime::toEpochDays() 1.150
ZonedDateTime::forEpochSeconds(UTC) 3.200
ZonedDateTime::forEpochSeconds(Basic_nocache) 17.400
ZonedDateTime::forEpochSeconds(Basic_cached) 3.550
ZonedDateTime::forEpochSeconds(Extended_nocache) 47.250
ZonedDateTime::forEpochSeconds(Extended_cached) 4.900
ZonedDateTime::forComponents(Basic_nocache) 25.300
ZonedDateTime::forComponents(Basic_cached) 11.400
ZonedDateTime::forComponents(Extended_nocache) 35.950
ZonedDateTime::forComponents(Extended_cached) 2.100
ZonedExtra::forEpochSeconds(Basic_nocache) 16.150
ZonedExtra::forEpochSeconds(Basic_cached) 1.400
ZonedExtra::forEpochSeconds(Extended_nocache) 45.100
ZonedExtra::forEpochSeconds(Extended_cached) 2.800
ZonedExtra::forComponents(Basic_nocache) 24.150
ZonedExtra::forComponents(Basic_cached) 10.300
ZonedExtra::forComponents(Extended_nocache) 34.900
ZonedExtra::forComponents(Extended_cached) 1.050
BasicZoneManager::createForZoneName(binary) 3.050
BasicZoneManager::createForZoneId(binary) 0.700
BasicZoneManager::createForZoneId(linear) 2.850
ZonedDateTime::toEpochDays() 1.100
ZonedDateTime::forEpochSeconds(UTC) 1.950
ZonedDateTime::forEpochSeconds(Basic_nocache) 23.100
ZonedDateTime::forEpochSeconds(Basic_cached) 2.350
ZonedDateTime::forEpochSeconds(Extended_nocache) 65.000
ZonedDateTime::forEpochSeconds(Extended_cached) 4.000
ZonedDateTime::forEpochSeconds(Complete_nocache) 74.500
ZonedDateTime::forEpochSeconds(Complete_cached) 4.000
ZonedDateTime::forComponents(Basic_nocache) 29.250
ZonedDateTime::forComponents(Basic_cached) 9.650
ZonedDateTime::forComponents(Extended_nocache) 51.700
ZonedDateTime::forComponents(Extended_cached) 1.050
ZonedDateTime::forComponents(Complete_nocache) 61.400
ZonedDateTime::forComponents(Complete_cached) 1.050
ZonedExtra::forEpochSeconds(Basic_nocache) 22.850
ZonedExtra::forEpochSeconds(Basic_cached) 1.450
ZonedExtra::forEpochSeconds(Extended_nocache) 63.900
ZonedExtra::forEpochSeconds(Extended_cached) 2.900
ZonedExtra::forEpochSeconds(Complete_nocache) 73.450
ZonedExtra::forEpochSeconds(Complete_cached) 2.900
ZonedExtra::forComponents(Basic_nocache) 29.450
ZonedExtra::forComponents(Basic_cached) 9.850
ZonedExtra::forComponents(Extended_nocache) 51.850
ZonedExtra::forComponents(Extended_cached) 1.200
ZonedExtra::forComponents(Complete_nocache) 61.550
ZonedExtra::forComponents(Complete_cached) 1.150
BasicZoneRegistrar::findIndexForName(binary) 3.050
BasicZoneRegistrar::findIndexForIdBinary() 0.700
BasicZoneRegistrar::findIndexForIdLinear() 2.850
ExtendedZoneRegistrar::findIndexForName(binary) 3.050
ExtendedZoneRegistrar::findIndexForIdBinary() 0.700
ExtendedZoneRegistrar::findIndexForIdLinear() 2.800
CompleteZoneRegistrar::findIndexForName(binary) 3.050
CompleteZoneRegistrar::findIndexForIdBinary() 0.750
CompleteZoneRegistrar::findIndexForIdLinear() 2.850
Iterations_per_run 20000
END
129 changes: 82 additions & 47 deletions examples/AutoBenchmark/esp8266.txt
Expand Up @@ -2,57 +2,92 @@ SIZEOF
sizeof(LocalDate): 4
sizeof(LocalTime): 4
sizeof(LocalDateTime): 8
sizeof(TimeOffset): 2
sizeof(OffsetDateTime): 10
sizeof(TimeOffset): 4
sizeof(OffsetDateTime): 12
sizeof(TimeZone): 12
sizeof(TimeZoneData): 8
sizeof(ZonedDateTime): 24
sizeof(ZonedExtra): 16
sizeof(ZonedExtra): 24
sizeof(TimePeriod): 4
sizeof(BasicZoneProcessor): 208
sizeof(ExtendedZoneProcessor): 608
sizeof(BasicZoneProcessorCache<1>): 216
sizeof(ExtendedZoneProcessorCache<1>): 616
sizeof(BasicZoneManager): 12
sizeof(ExtendedZoneManager): 12
sizeof(internal::ZoneContext): 24
sizeof(basic::ZoneEra): 16
sizeof(basic::ZoneInfo): 24
sizeof(basic::ZoneRule): 12
sizeof(basic::ZonePolicy): 8
sizeof(basic::ZoneRegistrar): 8
sizeof(BasicZoneProcessor::Transition): 36
sizeof(ExtendedZoneProcessor::Transition): 52
sizeof(ExtendedZoneProcessor::TransitionStorage): 452
sizeof(ExtendedZoneProcessor::MatchingEra): 32
Basic:
sizeof(basic::ZoneContext): 28
sizeof(basic::ZoneEra): 16
sizeof(basic::ZoneInfo): 24
sizeof(basic::ZoneRule): 9
sizeof(basic::ZonePolicy): 8
sizeof(basic::ZoneRegistrar): 8
sizeof(BasicZoneProcessor): 208
sizeof(BasicZoneProcessorCache<1>): 216
sizeof(BasicZoneManager): 12
sizeof(BasicZoneProcessor::Transition): 36
Extended:
sizeof(extended::ZoneContext): 28
sizeof(extended::ZoneEra): 16
sizeof(extended::ZoneInfo): 24
sizeof(extended::ZoneRule): 9
sizeof(extended::ZonePolicy): 8
sizeof(extended::ZoneRegistrar): 8
sizeof(ExtendedZoneProcessor): 720
sizeof(ExtendedZoneProcessorCache<1>): 728
sizeof(ExtendedZoneManager): 12
sizeof(ExtendedZoneProcessor::Transition): 60
sizeof(ExtendedZoneProcessor::TransitionStorage): 516
sizeof(ExtendedZoneProcessor::MatchingEra): 44
Complete:
sizeof(complete::ZoneContext): 28
sizeof(complete::ZoneEra): 20
sizeof(complete::ZoneInfo): 24
sizeof(complete::ZoneRule): 12
sizeof(complete::ZonePolicy): 8
sizeof(complete::ZoneRegistrar): 8
sizeof(CompleteZoneProcessor): 720
sizeof(CompleteZoneProcessorCache<1>): 728
sizeof(CompleteZoneManager): 12
sizeof(CompleteZoneProcessor::Transition): 60
sizeof(CompleteZoneProcessor::TransitionStorage): 516
sizeof(CompleteZoneProcessor::MatchingEra): 44
BENCHMARKS
EmptyLoop 4.800
LocalDate::forEpochDays() 7.400
LocalDate::toEpochDays() 2.800
LocalDate::dayOfWeek() 3.600
OffsetDateTime::forEpochSeconds() 12.600
EmptyLoop 4.500
LocalDate::forEpochDays() 7.500
LocalDate::toEpochDays() 4.000
LocalDate::dayOfWeek() 3.500
OffsetDateTime::forEpochSeconds() 12.000
OffsetDateTime::toEpochSeconds() 7.000
ZonedDateTime::toEpochSeconds() 6.800
ZonedDateTime::toEpochDays() 5.800
ZonedDateTime::forEpochSeconds(UTC) 15.000
ZonedDateTime::forEpochSeconds(Basic_nocache) 103.000
ZonedDateTime::forEpochSeconds(Basic_cached) 22.800
ZonedDateTime::forEpochSeconds(Extended_nocache) 239.200
ZonedDateTime::forEpochSeconds(Extended_cached) 29.200
ZonedDateTime::forComponents(Basic_nocache) 126.000
ZonedDateTime::forComponents(Basic_cached) 47.800
ZonedDateTime::forComponents(Extended_nocache) 172.400
ZonedDateTime::forComponents(Extended_cached) 3.400
ZonedExtra::forEpochSeconds(Basic_nocache) 92.800
ZonedExtra::forEpochSeconds(Basic_cached) 8.600
ZonedExtra::forEpochSeconds(Extended_nocache) 224.800
ZonedExtra::forEpochSeconds(Extended_cached) 15.200
ZonedExtra::forComponents(Basic_nocache) 124.800
ZonedExtra::forComponents(Basic_cached) 46.600
ZonedExtra::forComponents(Extended_nocache) 171.400
ZonedExtra::forComponents(Extended_cached) 2.400
BasicZoneManager::createForZoneName(binary) 14.600
BasicZoneManager::createForZoneId(binary) 6.600
BasicZoneManager::createForZoneId(linear) 43.000
Iterations_per_run 5000
ZonedDateTime::toEpochSeconds() 6.500
ZonedDateTime::toEpochDays() 5.500
ZonedDateTime::forEpochSeconds(UTC) 13.500
ZonedDateTime::forEpochSeconds(Basic_nocache) 141.500
ZonedDateTime::forEpochSeconds(Basic_cached) 21.500
ZonedDateTime::forEpochSeconds(Extended_nocache) 354.500
ZonedDateTime::forEpochSeconds(Extended_cached) 28.000
ZonedDateTime::forEpochSeconds(Complete_nocache) 407.000
ZonedDateTime::forEpochSeconds(Complete_cached) 28.000
ZonedDateTime::forComponents(Basic_nocache) 159.000
ZonedDateTime::forComponents(Basic_cached) 46.000
ZonedDateTime::forComponents(Extended_nocache) 241.500
ZonedDateTime::forComponents(Extended_cached) 2.500
ZonedDateTime::forComponents(Complete_nocache) 354.000
ZonedDateTime::forComponents(Complete_cached) 2.500
ZonedExtra::forEpochSeconds(Basic_nocache) 134.500
ZonedExtra::forEpochSeconds(Basic_cached) 11.000
ZonedExtra::forEpochSeconds(Extended_nocache) 308.000
ZonedExtra::forEpochSeconds(Extended_cached) 18.000
ZonedExtra::forEpochSeconds(Complete_nocache) 396.000
ZonedExtra::forEpochSeconds(Complete_cached) 17.500
ZonedExtra::forComponents(Basic_nocache) 184.500
ZonedExtra::forComponents(Basic_cached) 48.500
ZonedExtra::forComponents(Extended_nocache) 268.000
ZonedExtra::forComponents(Extended_cached) 29.000
ZonedExtra::forComponents(Complete_nocache) 332.500
ZonedExtra::forComponents(Complete_cached) 5.000
BasicZoneRegistrar::findIndexForName(binary) 18.000
BasicZoneRegistrar::findIndexForIdBinary() 6.500
BasicZoneRegistrar::findIndexForIdLinear() 43.000
ExtendedZoneRegistrar::findIndexForName(binary) 24.500
ExtendedZoneRegistrar::findIndexForIdBinary() 6.000
ExtendedZoneRegistrar::findIndexForIdLinear() 50.500
CompleteZoneRegistrar::findIndexForName(binary) 18.500
CompleteZoneRegistrar::findIndexForIdBinary() 6.500
CompleteZoneRegistrar::findIndexForIdLinear() 43.000
Iterations_per_run 2000
END
9 changes: 8 additions & 1 deletion examples/AutoBenchmark/generate_readme.py
Expand Up @@ -28,7 +28,7 @@
These results show that integer division and modulus operations are incredibly
slow on 8-bit AVR processors.
**Version**: AceTime v2.2.3
**Version**: AceTime v2.3-dev
**NOTE**: This file was auto-generated using `make README.md`. DO NOT EDIT.
Expand Down Expand Up @@ -223,6 +223,13 @@
* STM32duino Boards 2.5.0
* ESP32 Boards 2.0.9
**v2.3-dev**
* Add benchmarks for `CompleteZoneProcessor` and related classes
* Replace labels of `BasicZoneManager::createForXxx()` with
`BasicZoneRegistrar::findIndexForXxx()`, because those are the methods which
are actually being tested.
## Arduino Nano
* 16MHz ATmega328P
Expand Down
5 changes: 4 additions & 1 deletion examples/AutoBenchmark/generate_table.awk
Expand Up @@ -66,7 +66,10 @@ END {
|| name ~ /^ZonedDateTime::forComponents\(Basic_nocache\)/ \
|| name ~ /^ZonedExtra::forEpochSeconds\(Basic_nocache\)/ \
|| name ~ /^ZonedExtra::forComponents\(Basic_nocache\)/ \
|| name ~ /^BasicZoneManager::createForZoneName\(binary\)/) {
|| name ~ /^BasicZoneRegistrar::findIndexForName\(binary\)/ \
|| name ~ /^ExtendedZoneRegistrar::findIndexForName\(binary\)/ \
|| name ~ /^CompleteZoneRegistrar::findIndexForName\(binary\)/ \
) {
printf(\
"|--------------------------------------------------+----------|\n")
}
Expand Down

0 comments on commit 0bfcaca

Please sign in to comment.