1
1
use criterion:: Bencher ;
2
- use criterion_cycles_per_byte:: CyclesPerByte ;
3
2
use time:: ext:: { NumericalDuration , NumericalStdDuration } ;
4
3
use time:: macros:: date;
5
4
use time:: { Date , Month , Time , Weekday } ;
@@ -8,42 +7,42 @@ setup_benchmark! {
8
7
"Date" ,
9
8
10
9
// region: constructors
11
- fn from_calendar_date( ben: & mut Bencher <' _, CyclesPerByte >) {
10
+ fn from_calendar_date( ben: & mut Bencher <' _>) {
12
11
ben. iter( || Date :: from_calendar_date( 2019 , Month :: January , 1 ) ) ;
13
12
ben. iter( || Date :: from_calendar_date( 2019 , Month :: December , 31 ) ) ;
14
13
ben. iter( || Date :: from_calendar_date( 2020 , Month :: January , 1 ) ) ;
15
14
ben. iter( || Date :: from_calendar_date( 2020 , Month :: December , 31 ) ) ;
16
15
}
17
16
18
- fn from_ordinal_date( ben: & mut Bencher <' _, CyclesPerByte >) {
17
+ fn from_ordinal_date( ben: & mut Bencher <' _>) {
19
18
ben. iter( || Date :: from_ordinal_date( 2019 , 1 ) ) ;
20
19
ben. iter( || Date :: from_ordinal_date( 2019 , 365 ) ) ;
21
20
ben. iter( || Date :: from_ordinal_date( 2020 , 1 ) ) ;
22
21
ben. iter( || Date :: from_ordinal_date( 2020 , 366 ) ) ;
23
22
}
24
23
25
- fn from_iso_week_date( ben: & mut Bencher <' _, CyclesPerByte >) {
24
+ fn from_iso_week_date( ben: & mut Bencher <' _>) {
26
25
use Weekday :: * ;
27
26
ben. iter( || Date :: from_iso_week_date( 2019 , 1 , Tuesday ) ) ;
28
27
ben. iter( || Date :: from_iso_week_date( 2020 , 1 , Tuesday ) ) ;
29
28
ben. iter( || Date :: from_iso_week_date( 2020 , 1 , Wednesday ) ) ;
30
29
ben. iter( || Date :: from_iso_week_date( 2020 , 53 , Thursday ) ) ;
31
30
}
32
31
33
- fn from_julian_day( ben: & mut Bencher <' _, CyclesPerByte >) {
32
+ fn from_julian_day( ben: & mut Bencher <' _>) {
34
33
ben. iter( || Date :: from_julian_day( -34_803_190 ) ) ;
35
34
ben. iter( || Date :: from_julian_day( 0 ) ) ;
36
35
ben. iter( || Date :: from_julian_day( 2_459_753 ) ) ;
37
36
}
38
37
// endregion constructors
39
38
40
39
// region: getters
41
- fn year( ben: & mut Bencher <' _, CyclesPerByte >) {
40
+ fn year( ben: & mut Bencher <' _>) {
42
41
let d = date!( 2019 -002 ) ;
43
42
ben. iter( || d. year( ) ) ;
44
43
}
45
44
46
- fn month( ben: & mut Bencher <' _, CyclesPerByte >) {
45
+ fn month( ben: & mut Bencher <' _>) {
47
46
ben. iter( || date!( 2019 -01 -01 ) . month( ) ) ;
48
47
ben. iter( || date!( 2019 -02 -01 ) . month( ) ) ;
49
48
ben. iter( || date!( 2019 -03 -01 ) . month( ) ) ;
@@ -58,7 +57,7 @@ setup_benchmark! {
58
57
ben. iter( || date!( 2019 -12 -01 ) . month( ) ) ;
59
58
}
60
59
61
- fn day( ben: & mut Bencher <' _, CyclesPerByte >) {
60
+ fn day( ben: & mut Bencher <' _>) {
62
61
ben. iter( || date!( 2019 -01 -01 ) . day( ) ) ;
63
62
ben. iter( || date!( 2019 -02 -01 ) . day( ) ) ;
64
63
ben. iter( || date!( 2019 -03 -01 ) . day( ) ) ;
@@ -73,7 +72,7 @@ setup_benchmark! {
73
72
ben. iter( || date!( 2019 -12 -01 ) . day( ) ) ;
74
73
}
75
74
76
- fn ordinal( ben: & mut Bencher <' _, CyclesPerByte >) {
75
+ fn ordinal( ben: & mut Bencher <' _>) {
77
76
ben. iter( || date!( 2019 -01 -01 ) . ordinal( ) ) ;
78
77
ben. iter( || date!( 2019 -02 -01 ) . ordinal( ) ) ;
79
78
ben. iter( || date!( 2019 -03 -01 ) . ordinal( ) ) ;
@@ -88,7 +87,7 @@ setup_benchmark! {
88
87
ben. iter( || date!( 2019 -12 -01 ) . ordinal( ) ) ;
89
88
}
90
89
91
- fn iso_week( ben: & mut Bencher <' _, CyclesPerByte >) {
90
+ fn iso_week( ben: & mut Bencher <' _>) {
92
91
ben. iter( || date!( 2019 -01 -01 ) . iso_week( ) ) ;
93
92
ben. iter( || date!( 2019 -02 -01 ) . iso_week( ) ) ;
94
93
ben. iter( || date!( 2019 -03 -01 ) . iso_week( ) ) ;
@@ -103,7 +102,7 @@ setup_benchmark! {
103
102
ben. iter( || date!( 2019 -12 -01 ) . iso_week( ) ) ;
104
103
}
105
104
106
- fn sunday_based_week( ben: & mut Bencher <' _, CyclesPerByte >) {
105
+ fn sunday_based_week( ben: & mut Bencher <' _>) {
107
106
ben. iter( || date!( 2019 -01 -01 ) . sunday_based_week( ) ) ;
108
107
ben. iter( || date!( 2019 -02 -01 ) . sunday_based_week( ) ) ;
109
108
ben. iter( || date!( 2019 -03 -01 ) . sunday_based_week( ) ) ;
@@ -118,7 +117,7 @@ setup_benchmark! {
118
117
ben. iter( || date!( 2019 -12 -01 ) . sunday_based_week( ) ) ;
119
118
}
120
119
121
- fn monday_based_week( ben: & mut Bencher <' _, CyclesPerByte >) {
120
+ fn monday_based_week( ben: & mut Bencher <' _>) {
122
121
ben. iter( || date!( 2019 -01 -01 ) . monday_based_week( ) ) ;
123
122
ben. iter( || date!( 2019 -02 -01 ) . monday_based_week( ) ) ;
124
123
ben. iter( || date!( 2019 -03 -01 ) . monday_based_week( ) ) ;
@@ -133,7 +132,7 @@ setup_benchmark! {
133
132
ben. iter( || date!( 2019 -12 -01 ) . monday_based_week( ) ) ;
134
133
}
135
134
136
- fn to_calendar_date( ben: & mut Bencher <' _, CyclesPerByte >) {
135
+ fn to_calendar_date( ben: & mut Bencher <' _>) {
137
136
ben. iter( || date!( 2019 -01 -01 ) . to_calendar_date( ) ) ;
138
137
ben. iter( || date!( 2019 -02 -01 ) . to_calendar_date( ) ) ;
139
138
ben. iter( || date!( 2019 -03 -01 ) . to_calendar_date( ) ) ;
@@ -148,7 +147,7 @@ setup_benchmark! {
148
147
ben. iter( || date!( 2019 -12 -01 ) . to_calendar_date( ) ) ;
149
148
}
150
149
151
- fn to_ordinal_date( ben: & mut Bencher <' _, CyclesPerByte >) {
150
+ fn to_ordinal_date( ben: & mut Bencher <' _>) {
152
151
ben. iter( || date!( 2019 -01 -01 ) . to_ordinal_date( ) ) ;
153
152
ben. iter( || date!( 2019 -02 -01 ) . to_ordinal_date( ) ) ;
154
153
ben. iter( || date!( 2019 -03 -01 ) . to_ordinal_date( ) ) ;
@@ -163,7 +162,7 @@ setup_benchmark! {
163
162
ben. iter( || date!( 2019 -12 -01 ) . to_ordinal_date( ) ) ;
164
163
}
165
164
166
- fn to_iso_week_date( ben: & mut Bencher <' _, CyclesPerByte >) {
165
+ fn to_iso_week_date( ben: & mut Bencher <' _>) {
167
166
ben. iter( || date!( 2019 -01 -01 ) . to_iso_week_date( ) ) ;
168
167
ben. iter( || date!( 2019 -02 -01 ) . to_iso_week_date( ) ) ;
169
168
ben. iter( || date!( 2019 -03 -01 ) . to_iso_week_date( ) ) ;
@@ -178,7 +177,7 @@ setup_benchmark! {
178
177
ben. iter( || date!( 2019 -12 -01 ) . to_iso_week_date( ) ) ;
179
178
}
180
179
181
- fn weekday( ben: & mut Bencher <' _, CyclesPerByte >) {
180
+ fn weekday( ben: & mut Bencher <' _>) {
182
181
ben. iter( || date!( 2019 -01 -01 ) . weekday( ) ) ;
183
182
ben. iter( || date!( 2019 -02 -01 ) . weekday( ) ) ;
184
183
ben. iter( || date!( 2019 -03 -01 ) . weekday( ) ) ;
@@ -193,23 +192,23 @@ setup_benchmark! {
193
192
ben. iter( || date!( 2019 -12 -01 ) . weekday( ) ) ;
194
193
}
195
194
196
- fn next_day( ben: & mut Bencher <' _, CyclesPerByte >) {
195
+ fn next_day( ben: & mut Bencher <' _>) {
197
196
ben. iter( || date!( 2019 -01 -01 ) . next_day( ) ) ;
198
197
ben. iter( || date!( 2019 -02 -01 ) . next_day( ) ) ;
199
198
ben. iter( || date!( 2019 -12 -31 ) . next_day( ) ) ;
200
199
ben. iter( || date!( 2020 -12 -31 ) . next_day( ) ) ;
201
200
ben. iter( || Date :: MAX . next_day( ) ) ;
202
201
}
203
202
204
- fn previous_day( ben: & mut Bencher <' _, CyclesPerByte >) {
203
+ fn previous_day( ben: & mut Bencher <' _>) {
205
204
ben. iter( || date!( 2019 -01 -02 ) . previous_day( ) ) ;
206
205
ben. iter( || date!( 2019 -02 -01 ) . previous_day( ) ) ;
207
206
ben. iter( || date!( 2020 -01 -01 ) . previous_day( ) ) ;
208
207
ben. iter( || date!( 2021 -01 -01 ) . previous_day( ) ) ;
209
208
ben. iter( || Date :: MIN . previous_day( ) ) ;
210
209
}
211
210
212
- fn to_julian_day( ben: & mut Bencher <' _, CyclesPerByte >) {
211
+ fn to_julian_day( ben: & mut Bencher <' _>) {
213
212
ben. iter( || date!( 2019 -01 -01 ) . to_julian_day( ) ) ;
214
213
ben. iter( || date!( 2019 -02 -01 ) . to_julian_day( ) ) ;
215
214
ben. iter( || date!( 2019 -03 -01 ) . to_julian_day( ) ) ;
@@ -226,43 +225,43 @@ setup_benchmark! {
226
225
// endregion getters
227
226
228
227
// region: attach time
229
- fn midnight( ben: & mut Bencher <' _, CyclesPerByte >) {
228
+ fn midnight( ben: & mut Bencher <' _>) {
230
229
ben. iter( || date!( 1970 -01 -01 ) . midnight( ) ) ;
231
230
}
232
231
233
- fn with_time( ben: & mut Bencher <' _, CyclesPerByte >) {
232
+ fn with_time( ben: & mut Bencher <' _>) {
234
233
ben. iter( || date!( 1970 -01 -01 ) . with_time( Time :: MIDNIGHT ) ) ;
235
234
}
236
235
237
- fn with_hms( ben: & mut Bencher <' _, CyclesPerByte >) {
236
+ fn with_hms( ben: & mut Bencher <' _>) {
238
237
ben. iter( || date!( 1970 -01 -01 ) . with_hms( 0 , 0 , 0 ) ) ;
239
238
}
240
239
241
- fn with_hms_milli( ben: & mut Bencher <' _, CyclesPerByte >) {
240
+ fn with_hms_milli( ben: & mut Bencher <' _>) {
242
241
ben. iter( || date!( 1970 -01 -01 ) . with_hms_milli( 0 , 0 , 0 , 0 ) ) ;
243
242
}
244
243
245
- fn with_hms_micro( ben: & mut Bencher <' _, CyclesPerByte >) {
244
+ fn with_hms_micro( ben: & mut Bencher <' _>) {
246
245
ben. iter( || date!( 1970 -01 -01 ) . with_hms_micro( 0 , 0 , 0 , 0 ) ) ;
247
246
}
248
247
249
- fn with_hms_nano( ben: & mut Bencher <' _, CyclesPerByte >) {
248
+ fn with_hms_nano( ben: & mut Bencher <' _>) {
250
249
ben. iter( || date!( 1970 -01 -01 ) . with_hms_nano( 0 , 0 , 0 , 0 ) ) ;
251
250
}
252
251
// endregion attach time
253
252
254
253
// region: trait impls
255
- fn add( ben: & mut Bencher <' _, CyclesPerByte >) {
254
+ fn add( ben: & mut Bencher <' _>) {
256
255
let dt = 5 . days( ) ;
257
256
ben. iter( || date!( 2019 -01 -01 ) + dt) ;
258
257
}
259
258
260
- fn add_std( ben: & mut Bencher <' _, CyclesPerByte >) {
259
+ fn add_std( ben: & mut Bencher <' _>) {
261
260
let dt = 5 . std_days( ) ;
262
261
ben. iter( || date!( 2019 -01 -01 ) + dt) ;
263
262
}
264
263
265
- fn add_assign( ben: & mut Bencher <' _, CyclesPerByte >) {
264
+ fn add_assign( ben: & mut Bencher <' _>) {
266
265
let dt = 1 . days( ) ;
267
266
iter_batched_ref!(
268
267
ben,
@@ -271,7 +270,7 @@ setup_benchmark! {
271
270
) ;
272
271
}
273
272
274
- fn add_assign_std( ben: & mut Bencher <' _, CyclesPerByte >) {
273
+ fn add_assign_std( ben: & mut Bencher <' _>) {
275
274
let dt = 1 . std_days( ) ;
276
275
iter_batched_ref!(
277
276
ben,
@@ -280,17 +279,17 @@ setup_benchmark! {
280
279
) ;
281
280
}
282
281
283
- fn sub( ben: & mut Bencher <' _, CyclesPerByte >) {
282
+ fn sub( ben: & mut Bencher <' _>) {
284
283
let dt = 5 . days( ) ;
285
284
ben. iter( || date!( 2019 -01 -06 ) - dt) ;
286
285
}
287
286
288
- fn sub_std( ben: & mut Bencher <' _, CyclesPerByte >) {
287
+ fn sub_std( ben: & mut Bencher <' _>) {
289
288
let dt = 5 . std_days( ) ;
290
289
ben. iter( || date!( 2019 -01 -06 ) - dt) ;
291
290
}
292
291
293
- fn sub_assign( ben: & mut Bencher <' _, CyclesPerByte >) {
292
+ fn sub_assign( ben: & mut Bencher <' _>) {
294
293
let dt = 1 . days( ) ;
295
294
iter_batched_ref!(
296
295
ben,
@@ -299,7 +298,7 @@ setup_benchmark! {
299
298
) ;
300
299
}
301
300
302
- fn sub_assign_std( ben: & mut Bencher <' _, CyclesPerByte >) {
301
+ fn sub_assign_std( ben: & mut Bencher <' _>) {
303
302
let dt = 1 . std_days( ) ;
304
303
iter_batched_ref!(
305
304
ben,
@@ -308,19 +307,19 @@ setup_benchmark! {
308
307
) ;
309
308
}
310
309
311
- fn sub_self( ben: & mut Bencher <' _, CyclesPerByte >) {
310
+ fn sub_self( ben: & mut Bencher <' _>) {
312
311
ben. iter( || date!( 2019 -01 -02 ) - date!( 2019 -01 -01 ) ) ;
313
312
}
314
313
315
- fn partial_ord( ben: & mut Bencher <' _, CyclesPerByte >) {
314
+ fn partial_ord( ben: & mut Bencher <' _>) {
316
315
let first = date!( 2019 -01 -01 ) ;
317
316
let second = date!( 2019 -01 -02 ) ;
318
317
ben. iter( || first. partial_cmp( & first) ) ;
319
318
ben. iter( || first. partial_cmp( & second) ) ;
320
319
ben. iter( || second. partial_cmp( & first) ) ;
321
320
}
322
321
323
- fn ord( ben: & mut Bencher <' _, CyclesPerByte >) {
322
+ fn ord( ben: & mut Bencher <' _>) {
324
323
let first = date!( 2019 -01 -01 ) ;
325
324
let second = date!( 2019 -01 -02 ) ;
326
325
ben. iter( || first. cmp( & first) ) ;
0 commit comments