Skip to content

Commit a844b67

Browse files
committed
AutoBenchmark: regenerate for 2.4.0 (TZDB 2024b)
1 parent cca556c commit a844b67

File tree

10 files changed

+552
-493
lines changed

10 files changed

+552
-493
lines changed

examples/AutoBenchmark/AutoBenchmark.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ using namespace ace_time;
1313

1414
void setup() {
1515
#if ! defined(EPOXY_DUINO)
16-
delay(2000); // ESP8266, ESP32 now require 2000 instead of 1000
16+
delay(8000); // STM32, ESP8266, ESP32 now require > 5000ms instead of 1000ms
1717
#endif
1818

1919
SERIAL_PORT_MONITOR.begin(115200);

examples/AutoBenchmark/README.md

Lines changed: 295 additions & 243 deletions
Large diffs are not rendered by default.

examples/AutoBenchmark/esp32.txt

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ sizeof(OffsetDateTime): 12
77
sizeof(TimeZone): 12
88
sizeof(TimeZoneData): 8
99
sizeof(ZonedDateTime): 24
10-
sizeof(ZonedExtra): 24
10+
sizeof(ZonedExtra): 28
1111
sizeof(TimePeriod): 4
1212
Basic:
1313
sizeof(basic::ZoneContext): 28
@@ -27,11 +27,11 @@ Extended:
2727
sizeof(extended::ZoneRule): 9
2828
sizeof(extended::ZonePolicy): 8
2929
sizeof(extended::ZoneRegistrar): 8
30-
sizeof(ExtendedZoneProcessor): 720
31-
sizeof(ExtendedZoneProcessorCache<1>): 728
30+
sizeof(ExtendedZoneProcessor): 752
31+
sizeof(ExtendedZoneProcessorCache<1>): 760
3232
sizeof(ExtendedZoneManager): 12
33-
sizeof(ExtendedZoneProcessor::Transition): 60
34-
sizeof(ExtendedZoneProcessor::TransitionStorage): 516
33+
sizeof(ExtendedZoneProcessor::Transition): 64
34+
sizeof(ExtendedZoneProcessor::TransitionStorage): 548
3535
sizeof(ExtendedZoneProcessor::MatchingEra): 44
3636
Complete:
3737
sizeof(complete::ZoneContext): 28
@@ -40,54 +40,54 @@ Complete:
4040
sizeof(complete::ZoneRule): 12
4141
sizeof(complete::ZonePolicy): 8
4242
sizeof(complete::ZoneRegistrar): 8
43-
sizeof(CompleteZoneProcessor): 720
44-
sizeof(CompleteZoneProcessorCache<1>): 728
43+
sizeof(CompleteZoneProcessor): 752
44+
sizeof(CompleteZoneProcessorCache<1>): 760
4545
sizeof(CompleteZoneManager): 12
46-
sizeof(CompleteZoneProcessor::Transition): 60
47-
sizeof(CompleteZoneProcessor::TransitionStorage): 516
46+
sizeof(CompleteZoneProcessor::Transition): 64
47+
sizeof(CompleteZoneProcessor::TransitionStorage): 548
4848
sizeof(CompleteZoneProcessor::MatchingEra): 44
4949
BENCHMARKS
5050
EmptyLoop 1.200
5151
LocalDate::forEpochDays() 0.800
52-
LocalDate::toEpochDays() 0.350
53-
LocalDate::dayOfWeek() 0.400
52+
LocalDate::toEpochDays() 0.300
53+
LocalDate::dayOfWeek() 0.450
5454
OffsetDateTime::forEpochSeconds() 1.350
5555
OffsetDateTime::toEpochSeconds() 1.500
56-
ZonedDateTime::toEpochSeconds() 1.350
56+
ZonedDateTime::toEpochSeconds() 1.400
5757
ZonedDateTime::toEpochDays() 1.100
5858
ZonedDateTime::forEpochSeconds(UTC) 1.950
59-
ZonedDateTime::forEpochSeconds(Basic_nocache) 23.100
59+
ZonedDateTime::forEpochSeconds(Basic_nocache) 23.900
6060
ZonedDateTime::forEpochSeconds(Basic_cached) 2.350
61-
ZonedDateTime::forEpochSeconds(Extended_nocache) 65.000
61+
ZonedDateTime::forEpochSeconds(Extended_nocache) 68.950
6262
ZonedDateTime::forEpochSeconds(Extended_cached) 4.000
63-
ZonedDateTime::forEpochSeconds(Complete_nocache) 74.500
63+
ZonedDateTime::forEpochSeconds(Complete_nocache) 82.150
6464
ZonedDateTime::forEpochSeconds(Complete_cached) 4.000
65-
ZonedDateTime::forComponents(Basic_nocache) 29.250
65+
ZonedDateTime::forComponents(Basic_nocache) 30.150
6666
ZonedDateTime::forComponents(Basic_cached) 9.650
67-
ZonedDateTime::forComponents(Extended_nocache) 51.700
67+
ZonedDateTime::forComponents(Extended_nocache) 55.650
6868
ZonedDateTime::forComponents(Extended_cached) 1.050
69-
ZonedDateTime::forComponents(Complete_nocache) 61.400
70-
ZonedDateTime::forComponents(Complete_cached) 1.050
71-
ZonedExtra::forEpochSeconds(Basic_nocache) 22.850
72-
ZonedExtra::forEpochSeconds(Basic_cached) 1.450
73-
ZonedExtra::forEpochSeconds(Extended_nocache) 63.900
74-
ZonedExtra::forEpochSeconds(Extended_cached) 2.900
75-
ZonedExtra::forEpochSeconds(Complete_nocache) 73.450
76-
ZonedExtra::forEpochSeconds(Complete_cached) 2.900
77-
ZonedExtra::forComponents(Basic_nocache) 29.450
78-
ZonedExtra::forComponents(Basic_cached) 9.850
79-
ZonedExtra::forComponents(Extended_nocache) 51.850
80-
ZonedExtra::forComponents(Extended_cached) 1.200
81-
ZonedExtra::forComponents(Complete_nocache) 61.550
82-
ZonedExtra::forComponents(Complete_cached) 1.150
69+
ZonedDateTime::forComponents(Complete_nocache) 69.000
70+
ZonedDateTime::forComponents(Complete_cached) 1.000
71+
ZonedExtra::forEpochSeconds(Basic_nocache) 23.800
72+
ZonedExtra::forEpochSeconds(Basic_cached) 1.600
73+
ZonedExtra::forEpochSeconds(Extended_nocache) 68.000
74+
ZonedExtra::forEpochSeconds(Extended_cached) 3.000
75+
ZonedExtra::forEpochSeconds(Complete_nocache) 81.150
76+
ZonedExtra::forEpochSeconds(Complete_cached) 3.000
77+
ZonedExtra::forComponents(Basic_nocache) 30.400
78+
ZonedExtra::forComponents(Basic_cached) 9.950
79+
ZonedExtra::forComponents(Extended_nocache) 55.850
80+
ZonedExtra::forComponents(Extended_cached) 1.300
81+
ZonedExtra::forComponents(Complete_nocache) 69.200
82+
ZonedExtra::forComponents(Complete_cached) 1.250
8383
BasicZoneRegistrar::findIndexForName(binary) 3.050
84-
BasicZoneRegistrar::findIndexForIdBinary() 0.700
84+
BasicZoneRegistrar::findIndexForIdBinary() 0.650
8585
BasicZoneRegistrar::findIndexForIdLinear() 2.850
86-
ExtendedZoneRegistrar::findIndexForName(binary) 3.050
86+
ExtendedZoneRegistrar::findIndexForName(binary) 3.100
8787
ExtendedZoneRegistrar::findIndexForIdBinary() 0.700
88-
ExtendedZoneRegistrar::findIndexForIdLinear() 2.800
89-
CompleteZoneRegistrar::findIndexForName(binary) 3.050
90-
CompleteZoneRegistrar::findIndexForIdBinary() 0.750
91-
CompleteZoneRegistrar::findIndexForIdLinear() 2.850
88+
ExtendedZoneRegistrar::findIndexForIdLinear() 2.850
89+
CompleteZoneRegistrar::findIndexForName(binary) 3.150
90+
CompleteZoneRegistrar::findIndexForIdBinary() 0.700
91+
CompleteZoneRegistrar::findIndexForIdLinear() 2.800
9292
Iterations_per_run 20000
9393
END

examples/AutoBenchmark/esp8266.txt

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ sizeof(OffsetDateTime): 12
77
sizeof(TimeZone): 12
88
sizeof(TimeZoneData): 8
99
sizeof(ZonedDateTime): 24
10-
sizeof(ZonedExtra): 24
10+
sizeof(ZonedExtra): 28
1111
sizeof(TimePeriod): 4
1212
Basic:
1313
sizeof(basic::ZoneContext): 28
@@ -27,11 +27,11 @@ Extended:
2727
sizeof(extended::ZoneRule): 9
2828
sizeof(extended::ZonePolicy): 8
2929
sizeof(extended::ZoneRegistrar): 8
30-
sizeof(ExtendedZoneProcessor): 720
31-
sizeof(ExtendedZoneProcessorCache<1>): 728
30+
sizeof(ExtendedZoneProcessor): 752
31+
sizeof(ExtendedZoneProcessorCache<1>): 760
3232
sizeof(ExtendedZoneManager): 12
33-
sizeof(ExtendedZoneProcessor::Transition): 60
34-
sizeof(ExtendedZoneProcessor::TransitionStorage): 516
33+
sizeof(ExtendedZoneProcessor::Transition): 64
34+
sizeof(ExtendedZoneProcessor::TransitionStorage): 548
3535
sizeof(ExtendedZoneProcessor::MatchingEra): 44
3636
Complete:
3737
sizeof(complete::ZoneContext): 28
@@ -40,54 +40,54 @@ Complete:
4040
sizeof(complete::ZoneRule): 12
4141
sizeof(complete::ZonePolicy): 8
4242
sizeof(complete::ZoneRegistrar): 8
43-
sizeof(CompleteZoneProcessor): 720
44-
sizeof(CompleteZoneProcessorCache<1>): 728
43+
sizeof(CompleteZoneProcessor): 752
44+
sizeof(CompleteZoneProcessorCache<1>): 760
4545
sizeof(CompleteZoneManager): 12
46-
sizeof(CompleteZoneProcessor::Transition): 60
47-
sizeof(CompleteZoneProcessor::TransitionStorage): 516
46+
sizeof(CompleteZoneProcessor::Transition): 64
47+
sizeof(CompleteZoneProcessor::TransitionStorage): 548
4848
sizeof(CompleteZoneProcessor::MatchingEra): 44
4949
BENCHMARKS
50-
EmptyLoop 4.500
51-
LocalDate::forEpochDays() 7.500
52-
LocalDate::toEpochDays() 4.000
53-
LocalDate::dayOfWeek() 3.500
50+
EmptyLoop 5.000
51+
LocalDate::forEpochDays() 7.000
52+
LocalDate::toEpochDays() 3.500
53+
LocalDate::dayOfWeek() 3.000
5454
OffsetDateTime::forEpochSeconds() 12.000
55-
OffsetDateTime::toEpochSeconds() 7.000
56-
ZonedDateTime::toEpochSeconds() 6.500
57-
ZonedDateTime::toEpochDays() 5.500
55+
OffsetDateTime::toEpochSeconds() 7.500
56+
ZonedDateTime::toEpochSeconds() 7.000
57+
ZonedDateTime::toEpochDays() 6.000
5858
ZonedDateTime::forEpochSeconds(UTC) 13.500
59-
ZonedDateTime::forEpochSeconds(Basic_nocache) 141.500
60-
ZonedDateTime::forEpochSeconds(Basic_cached) 21.500
61-
ZonedDateTime::forEpochSeconds(Extended_nocache) 354.500
59+
ZonedDateTime::forEpochSeconds(Basic_nocache) 154.000
60+
ZonedDateTime::forEpochSeconds(Basic_cached) 21.000
61+
ZonedDateTime::forEpochSeconds(Extended_nocache) 373.500
6262
ZonedDateTime::forEpochSeconds(Extended_cached) 28.000
63-
ZonedDateTime::forEpochSeconds(Complete_nocache) 407.000
64-
ZonedDateTime::forEpochSeconds(Complete_cached) 28.000
65-
ZonedDateTime::forComponents(Basic_nocache) 159.000
66-
ZonedDateTime::forComponents(Basic_cached) 46.000
67-
ZonedDateTime::forComponents(Extended_nocache) 241.500
63+
ZonedDateTime::forEpochSeconds(Complete_nocache) 539.000
64+
ZonedDateTime::forEpochSeconds(Complete_cached) 27.500
65+
ZonedDateTime::forComponents(Basic_nocache) 171.000
66+
ZonedDateTime::forComponents(Basic_cached) 45.500
67+
ZonedDateTime::forComponents(Extended_nocache) 242.500
6868
ZonedDateTime::forComponents(Extended_cached) 2.500
69-
ZonedDateTime::forComponents(Complete_nocache) 354.000
70-
ZonedDateTime::forComponents(Complete_cached) 2.500
71-
ZonedExtra::forEpochSeconds(Basic_nocache) 134.500
72-
ZonedExtra::forEpochSeconds(Basic_cached) 11.000
73-
ZonedExtra::forEpochSeconds(Extended_nocache) 308.000
74-
ZonedExtra::forEpochSeconds(Extended_cached) 18.000
75-
ZonedExtra::forEpochSeconds(Complete_nocache) 396.000
69+
ZonedDateTime::forComponents(Complete_nocache) 449.500
70+
ZonedDateTime::forComponents(Complete_cached) 2.000
71+
ZonedExtra::forEpochSeconds(Basic_nocache) 147.500
72+
ZonedExtra::forEpochSeconds(Basic_cached) 10.500
73+
ZonedExtra::forEpochSeconds(Extended_nocache) 321.000
74+
ZonedExtra::forEpochSeconds(Extended_cached) 17.500
75+
ZonedExtra::forEpochSeconds(Complete_nocache) 498.000
7676
ZonedExtra::forEpochSeconds(Complete_cached) 17.500
77-
ZonedExtra::forComponents(Basic_nocache) 184.500
78-
ZonedExtra::forComponents(Basic_cached) 48.500
79-
ZonedExtra::forComponents(Extended_nocache) 268.000
80-
ZonedExtra::forComponents(Extended_cached) 29.000
81-
ZonedExtra::forComponents(Complete_nocache) 332.500
77+
ZonedExtra::forComponents(Basic_nocache) 174.000
78+
ZonedExtra::forComponents(Basic_cached) 48.000
79+
ZonedExtra::forComponents(Extended_nocache) 245.000
80+
ZonedExtra::forComponents(Extended_cached) 17.000
81+
ZonedExtra::forComponents(Complete_nocache) 405.000
8282
ZonedExtra::forComponents(Complete_cached) 5.000
83-
BasicZoneRegistrar::findIndexForName(binary) 18.000
83+
BasicZoneRegistrar::findIndexForName(binary) 17.500
8484
BasicZoneRegistrar::findIndexForIdBinary() 6.500
85-
BasicZoneRegistrar::findIndexForIdLinear() 43.000
86-
ExtendedZoneRegistrar::findIndexForName(binary) 24.500
87-
ExtendedZoneRegistrar::findIndexForIdBinary() 6.000
88-
ExtendedZoneRegistrar::findIndexForIdLinear() 50.500
89-
CompleteZoneRegistrar::findIndexForName(binary) 18.500
90-
CompleteZoneRegistrar::findIndexForIdBinary() 6.500
91-
CompleteZoneRegistrar::findIndexForIdLinear() 43.000
85+
BasicZoneRegistrar::findIndexForIdLinear() 43.500
86+
ExtendedZoneRegistrar::findIndexForName(binary) 31.000
87+
ExtendedZoneRegistrar::findIndexForIdBinary() 6.500
88+
ExtendedZoneRegistrar::findIndexForIdLinear() 42.500
89+
CompleteZoneRegistrar::findIndexForName(binary) 26.500
90+
CompleteZoneRegistrar::findIndexForIdBinary() 6.000
91+
CompleteZoneRegistrar::findIndexForIdLinear() 42.000
9292
Iterations_per_run 2000
9393
END

examples/AutoBenchmark/generate_readme.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
These results show that integer division and modulus operations are incredibly
2929
slow on 8-bit AVR processors.
3030
31-
**Version**: AceTime v2.3.0
31+
**Version**: AceTime v2.4.0
3232
3333
**NOTE**: This file was auto-generated using `make README.md`. DO NOT EDIT.
3434
@@ -55,7 +55,7 @@
5555
2. Type `$ auniter ports` to determine its `/dev/ttyXXX` port number (e.g.
5656
`/dev/ttyUSB0` or `/dev/ttyACM0`).
5757
3. If the port is `USB0` or `ACM0`, type `$ make nano.txt`, etc.
58-
4. Switch off the old microontroller.
58+
4. Switch off the old microcontroller.
5959
5. Go to Step 1 and repeat for each microcontroller.
6060
6161
The `generate_table.awk` program reads one of `*.txt` files and prints out an
@@ -224,16 +224,21 @@
224224
* ESP32 Boards 2.0.9
225225
226226
**v2.3.0**
227-
228227
* Add benchmarks for `CompleteZoneProcessor` and related classes
229228
* Replace labels of `BasicZoneManager::createForXxx()` with
230229
`BasicZoneRegistrar::findIndexForXxx()`, because those are the methods which
231230
are actually being tested.
232231
232+
**v2.4.0**
233+
* Support %z format.
234+
* Upgrade to TZDB 2024b.
235+
* Upgrade Arduino CLI to 1.1.1
236+
* Almost no change in execution times.
237+
233238
## Arduino Nano
234239
235240
* 16MHz ATmega328P
236-
* Arduino IDE 1.8.19, Arduino CLI 0.33.0
241+
* Arduino IDE 1.8.19, Arduino CLI 1.1.1
237242
* Arduino AVR Boards 1.8.6
238243
239244
```
@@ -243,7 +248,7 @@
243248
## Sparkfun Pro Micro
244249
245250
* 16 MHz ATmega32U4
246-
* Arduino IDE 1.8.19, Arduino CLI 0.33.0
251+
* Arduino IDE 1.8.19, Arduino CLI 1.1.1
247252
* SparkFun AVR Boards 1.1.13
248253
249254
```
@@ -253,7 +258,7 @@
253258
## Seeed Studio XIAO SAMD21
254259
255260
* SAMD21, 48 MHz ARM Cortex-M0+
256-
* Arduino IDE 1.8.19, Arduino CLI 0.33.0
261+
* Arduino IDE 1.8.19, Arduino CLI 1.1.1
257262
* Seeeduino 1.8.4
258263
259264
```
@@ -263,7 +268,7 @@
263268
## STM32 Blue Pill
264269
265270
* STM32F103C8, 72 MHz ARM Cortex-M3
266-
* Arduino IDE 1.8.19, Arduino CLI 0.33.0
271+
* Arduino IDE 1.8.19, Arduino CLI 1.1.1
267272
* STM32duino 2.5.0
268273
269274
```
@@ -273,7 +278,7 @@
273278
## Adafruit ItsyBitsy M4 SAMD51
274279
275280
* SAMD51, 120 MHz ARM Cortex-M4
276-
* Arduino IDE 1.8.19, Arduino CLI 0.33.0
281+
* Arduino IDE 1.8.19, Arduino CLI 1.1.1
277282
* Adafruit SAMD 1.7.11
278283
279284
```
@@ -283,7 +288,7 @@
283288
## ESP8266
284289
285290
* NodeMCU 1.0 clone, 80MHz ESP8266
286-
* Arduino IDE 1.8.19, Arduino CLI 0.33.0
291+
* Arduino IDE 1.8.19, Arduino CLI 1.1.1
287292
* ESP8266 Boards 3.0.2
288293
289294
```
@@ -293,7 +298,7 @@
293298
## ESP32
294299
295300
* ESP32-01 Dev Board, 240 MHz Tensilica LX6
296-
* Arduino IDE 1.8.19, Arduino CLI 0.33.0
301+
* Arduino IDE 1.8.19, Arduino CLI 1.1.1
297302
* ESP32 Boards 2.0.9
298303
299304
```

0 commit comments

Comments
 (0)