Function to compute benchmarked timings with different data sizes for an R expression

asymptoticTimings(e, data.sizes, max.seconds)

Arguments

e

An expression which is in the form of a function operating on 'N' (as the data size for the algorithm to be tested against for a run), which takes values from the used-supplied parameter data.sizes.

data.sizes

A vector/set of data sizes, which should preferably be a sequence in powers of ten, with mid-values included. Example: data.sizes = 10^seq(1, 4, by = 0.5)

max.seconds

The maximum number of seconds an iteration would be limited upto. (once the limit has been exceeded, further computations on incrementally larger dataset sizes won't be done) Optional, with the default value set to 1 second.

Value

A data frame comprising of the timings computed by microbenchmark and the corresponding dataset sizes.

Details

For more information regarding its implementation or functionality/usage, please check https://anirban166.github.io//Timings-function/

Examples

# Quantifying the runtimes for the quick sort algorithm (with sampling performed) # against a set of increasing input data sizes: input.sizes = 10^seq(1, 3, by = 0.5) asymptoticTimings(sort(sample(1:100, data.sizes, replace = TRUE), method = "quick"), input.sizes)
#> Timings Data sizes #> 1 196700 10.00000 #> 2 89400 10.00000 #> 3 73800 10.00000 #> 4 72800 10.00000 #> 5 66100 10.00000 #> 6 64900 10.00000 #> 7 64400 10.00000 #> 8 63400 10.00000 #> 9 63800 10.00000 #> 10 63000 10.00000 #> 11 63300 10.00000 #> 12 62800 10.00000 #> 13 63500 10.00000 #> 14 62700 10.00000 #> 15 63200 10.00000 #> 16 62200 10.00000 #> 17 62900 10.00000 #> 18 63600 10.00000 #> 19 71400 10.00000 #> 20 106300 10.00000 #> 21 80500 10.00000 #> 22 71900 10.00000 #> 23 65200 10.00000 #> 24 65200 10.00000 #> 25 63300 10.00000 #> 26 64500 10.00000 #> 27 63400 10.00000 #> 28 63900 10.00000 #> 29 62300 10.00000 #> 30 62900 10.00000 #> 31 63900 10.00000 #> 32 61600 10.00000 #> 33 67100 10.00000 #> 34 61400 10.00000 #> 35 61800 10.00000 #> 36 62700 10.00000 #> 37 62900 10.00000 #> 38 63500 10.00000 #> 39 62700 10.00000 #> 40 61800 10.00000 #> 41 63300 10.00000 #> 42 63100 10.00000 #> 43 62600 10.00000 #> 44 64700 10.00000 #> 45 62800 10.00000 #> 46 62400 10.00000 #> 47 62900 10.00000 #> 48 63300 10.00000 #> 49 63700 10.00000 #> 50 62900 10.00000 #> 51 62700 10.00000 #> 52 63200 10.00000 #> 53 63200 10.00000 #> 54 63100 10.00000 #> 55 63200 10.00000 #> 56 62800 10.00000 #> 57 64000 10.00000 #> 58 65100 10.00000 #> 59 64700 10.00000 #> 60 64900 10.00000 #> 61 63000 10.00000 #> 62 63300 10.00000 #> 63 62200 10.00000 #> 64 66500 10.00000 #> 65 63100 10.00000 #> 66 62800 10.00000 #> 67 62900 10.00000 #> 68 63600 10.00000 #> 69 63300 10.00000 #> 70 64000 10.00000 #> 71 63000 10.00000 #> 72 62700 10.00000 #> 73 62800 10.00000 #> 74 62700 10.00000 #> 75 62300 10.00000 #> 76 64100 10.00000 #> 77 67000 10.00000 #> 78 61400 10.00000 #> 79 62300 10.00000 #> 80 66000 10.00000 #> 81 66500 10.00000 #> 82 83600 10.00000 #> 83 68900 10.00000 #> 84 62900 10.00000 #> 85 62800 10.00000 #> 86 62100 10.00000 #> 87 62200 10.00000 #> 88 62800 10.00000 #> 89 62700 10.00000 #> 90 62100 10.00000 #> 91 62700 10.00000 #> 92 62900 10.00000 #> 93 62700 10.00000 #> 94 61900 10.00000 #> 95 67100 10.00000 #> 96 62100 10.00000 #> 97 61900 10.00000 #> 98 62300 10.00000 #> 99 62400 10.00000 #> 100 62100 10.00000 #> 101 203600 31.62278 #> 102 115100 31.62278 #> 103 101900 31.62278 #> 104 98800 31.62278 #> 105 97600 31.62278 #> 106 95300 31.62278 #> 107 96100 31.62278 #> 108 92800 31.62278 #> 109 139200 31.62278 #> 110 104600 31.62278 #> 111 95000 31.62278 #> 112 94900 31.62278 #> 113 93400 31.62278 #> 114 94800 31.62278 #> 115 93700 31.62278 #> 116 93700 31.62278 #> 117 94300 31.62278 #> 118 94800 31.62278 #> 119 94500 31.62278 #> 120 122900 31.62278 #> 121 94000 31.62278 #> 122 94000 31.62278 #> 123 92800 31.62278 #> 124 94100 31.62278 #> 125 93900 31.62278 #> 126 92500 31.62278 #> 127 92900 31.62278 #> 128 91200 31.62278 #> 129 92900 31.62278 #> 130 95800 31.62278 #> 131 92900 31.62278 #> 132 92500 31.62278 #> 133 91600 31.62278 #> 134 91900 31.62278 #> 135 93400 31.62278 #> 136 93900 31.62278 #> 137 94200 31.62278 #> 138 92400 31.62278 #> 139 94100 31.62278 #> 140 94800 31.62278 #> 141 94100 31.62278 #> 142 92500 31.62278 #> 143 92000 31.62278 #> 144 93400 31.62278 #> 145 486000 31.62278 #> 146 426800 31.62278 #> 147 224300 31.62278 #> 148 95600 31.62278 #> 149 88800 31.62278 #> 150 86100 31.62278 #> 151 84700 31.62278 #> 152 83600 31.62278 #> 153 84400 31.62278 #> 154 71500 31.62278 #> 155 67900 31.62278 #> 156 66300 31.62278 #> 157 64200 31.62278 #> 158 64400 31.62278 #> 159 64500 31.62278 #> 160 62400 31.62278 #> 161 64600 31.62278 #> 162 63000 31.62278 #> 163 62500 31.62278 #> 164 62800 31.62278 #> 165 62100 31.62278 #> 166 62000 31.62278 #> 167 63100 31.62278 #> 168 67700 31.62278 #> 169 63100 31.62278 #> 170 62700 31.62278 #> 171 172100 31.62278 #> 172 71000 31.62278 #> 173 63900 31.62278 #> 174 62400 31.62278 #> 175 62600 31.62278 #> 176 61600 31.62278 #> 177 61600 31.62278 #> 178 60900 31.62278 #> 179 61200 31.62278 #> 180 62800 31.62278 #> 181 61100 31.62278 #> 182 66300 31.62278 #> 183 61900 31.62278 #> 184 63600 31.62278 #> 185 61200 31.62278 #> 186 61900 31.62278 #> 187 61900 31.62278 #> 188 61600 31.62278 #> 189 61200 31.62278 #> 190 61800 31.62278 #> 191 61400 31.62278 #> 192 62200 31.62278 #> 193 61900 31.62278 #> 194 62500 31.62278 #> 195 62200 31.62278 #> 196 62400 31.62278 #> 197 62800 31.62278 #> 198 65900 31.62278 #> 199 62700 31.62278 #> 200 61300 31.62278 #> 201 153000 100.00000 #> 202 63100 100.00000 #> 203 50800 100.00000 #> 204 46400 100.00000 #> 205 52400 100.00000 #> 206 43400 100.00000 #> 207 41800 100.00000 #> 208 42200 100.00000 #> 209 40900 100.00000 #> 210 41600 100.00000 #> 211 41100 100.00000 #> 212 41400 100.00000 #> 213 41100 100.00000 #> 214 40900 100.00000 #> 215 41100 100.00000 #> 216 40700 100.00000 #> 217 41900 100.00000 #> 218 42300 100.00000 #> 219 41800 100.00000 #> 220 41200 100.00000 #> 221 41800 100.00000 #> 222 40700 100.00000 #> 223 41100 100.00000 #> 224 42500 100.00000 #> 225 41300 100.00000 #> 226 40700 100.00000 #> 227 40800 100.00000 #> 228 41000 100.00000 #> 229 85900 100.00000 #> 230 69900 100.00000 #> 231 87600 100.00000 #> 232 84700 100.00000 #> 233 155700 100.00000 #> 234 84000 100.00000 #> 235 58300 100.00000 #> 236 51800 100.00000 #> 237 48100 100.00000 #> 238 45100 100.00000 #> 239 44100 100.00000 #> 240 43100 100.00000 #> 241 42400 100.00000 #> 242 42600 100.00000 #> 243 42100 100.00000 #> 244 59300 100.00000 #> 245 50600 100.00000 #> 246 76100 100.00000 #> 247 53600 100.00000 #> 248 49800 100.00000 #> 249 49800 100.00000 #> 250 49500 100.00000 #> 251 50300 100.00000 #> 252 49000 100.00000 #> 253 49400 100.00000 #> 254 49500 100.00000 #> 255 48800 100.00000 #> 256 50100 100.00000 #> 257 49300 100.00000 #> 258 48600 100.00000 #> 259 49400 100.00000 #> 260 49100 100.00000 #> 261 50900 100.00000 #> 262 50100 100.00000 #> 263 48900 100.00000 #> 264 44700 100.00000 #> 265 42500 100.00000 #> 266 41800 100.00000 #> 267 42900 100.00000 #> 268 41300 100.00000 #> 269 42300 100.00000 #> 270 41600 100.00000 #> 271 42000 100.00000 #> 272 41100 100.00000 #> 273 41300 100.00000 #> 274 42000 100.00000 #> 275 41400 100.00000 #> 276 41400 100.00000 #> 277 41400 100.00000 #> 278 41300 100.00000 #> 279 41100 100.00000 #> 280 41700 100.00000 #> 281 41800 100.00000 #> 282 41600 100.00000 #> 283 41100 100.00000 #> 284 43100 100.00000 #> 285 41300 100.00000 #> 286 41500 100.00000 #> 287 41200 100.00000 #> 288 41500 100.00000 #> 289 41200 100.00000 #> 290 40800 100.00000 #> 291 41300 100.00000 #> 292 42300 100.00000 #> 293 41700 100.00000 #> 294 42000 100.00000 #> 295 41200 100.00000 #> 296 40900 100.00000 #> 297 41400 100.00000 #> 298 41500 100.00000 #> 299 41000 100.00000 #> 300 42300 100.00000 #> 301 153600 316.22777 #> 302 65700 316.22777 #> 303 56800 316.22777 #> 304 52900 316.22777 #> 305 63400 316.22777 #> 306 53000 316.22777 #> 307 49500 316.22777 #> 308 49800 316.22777 #> 309 48600 316.22777 #> 310 49500 316.22777 #> 311 49000 316.22777 #> 312 49100 316.22777 #> 313 48800 316.22777 #> 314 48800 316.22777 #> 315 48400 316.22777 #> 316 49100 316.22777 #> 317 49700 316.22777 #> 318 52100 316.22777 #> 319 92400 316.22777 #> 320 125400 316.22777 #> 321 120700 316.22777 #> 322 50400 316.22777 #> 323 49600 316.22777 #> 324 50100 316.22777 #> 325 48900 316.22777 #> 326 48500 316.22777 #> 327 53900 316.22777 #> 328 92300 316.22777 #> 329 79100 316.22777 #> 330 118200 316.22777 #> 331 119500 316.22777 #> 332 95700 316.22777 #> 333 80600 316.22777 #> 334 89100 316.22777 #> 335 78100 316.22777 #> 336 82700 316.22777 #> 337 117000 316.22777 #> 338 101400 316.22777 #> 339 109900 316.22777 #> 340 79400 316.22777 #> 341 85000 316.22777 #> 342 81400 316.22777 #> 343 86600 316.22777 #> 344 81200 316.22777 #> 345 156500 316.22777 #> 346 137100 316.22777 #> 347 116200 316.22777 #> 348 121300 316.22777 #> 349 102500 316.22777 #> 350 80600 316.22777 #> 351 81000 316.22777 #> 352 86100 316.22777 #> 353 91200 316.22777 #> 354 215800 316.22777 #> 355 89400 316.22777 #> 356 71800 316.22777 #> 357 48100 316.22777 #> 358 46800 316.22777 #> 359 66800 316.22777 #> 360 44800 316.22777 #> 361 64700 316.22777 #> 362 52500 316.22777 #> 363 44300 316.22777 #> 364 43200 316.22777 #> 365 42900 316.22777 #> 366 42200 316.22777 #> 367 42500 316.22777 #> 368 41900 316.22777 #> 369 42500 316.22777 #> 370 41800 316.22777 #> 371 53900 316.22777 #> 372 51600 316.22777 #> 373 48800 316.22777 #> 374 49300 316.22777 #> 375 48500 316.22777 #> 376 48600 316.22777 #> 377 48900 316.22777 #> 378 49000 316.22777 #> 379 48800 316.22777 #> 380 49200 316.22777 #> 381 48800 316.22777 #> 382 49800 316.22777 #> 383 48600 316.22777 #> 384 49600 316.22777 #> 385 48700 316.22777 #> 386 49200 316.22777 #> 387 48900 316.22777 #> 388 48900 316.22777 #> 389 50000 316.22777 #> 390 49200 316.22777 #> 391 57000 316.22777 #> 392 50600 316.22777 #> 393 49700 316.22777 #> 394 50300 316.22777 #> 395 49100 316.22777 #> 396 48800 316.22777 #> 397 49000 316.22777 #> 398 48200 316.22777 #> 399 49600 316.22777 #> 400 48800 316.22777 #> 401 152500 1000.00000 #> 402 87800 1000.00000 #> 403 80500 1000.00000 #> 404 78500 1000.00000 #> 405 76300 1000.00000 #> 406 78800 1000.00000 #> 407 74500 1000.00000 #> 408 73900 1000.00000 #> 409 73400 1000.00000 #> 410 73100 1000.00000 #> 411 73300 1000.00000 #> 412 73500 1000.00000 #> 413 73000 1000.00000 #> 414 73400 1000.00000 #> 415 72100 1000.00000 #> 416 73400 1000.00000 #> 417 73400 1000.00000 #> 418 73600 1000.00000 #> 419 73600 1000.00000 #> 420 73500 1000.00000 #> 421 73500 1000.00000 #> 422 73000 1000.00000 #> 423 73500 1000.00000 #> 424 74800 1000.00000 #> 425 72000 1000.00000 #> 426 73400 1000.00000 #> 427 70200 1000.00000 #> 428 74800 1000.00000 #> 429 72400 1000.00000 #> 430 71700 1000.00000 #> 431 72200 1000.00000 #> 432 72700 1000.00000 #> 433 73800 1000.00000 #> 434 72800 1000.00000 #> 435 72600 1000.00000 #> 436 73500 1000.00000 #> 437 72100 1000.00000 #> 438 128400 1000.00000 #> 439 86700 1000.00000 #> 440 75500 1000.00000 #> 441 78900 1000.00000 #> 442 73100 1000.00000 #> 443 66900 1000.00000 #> 444 64400 1000.00000 #> 445 63700 1000.00000 #> 446 64300 1000.00000 #> 447 62600 1000.00000 #> 448 62000 1000.00000 #> 449 62000 1000.00000 #> 450 62300 1000.00000 #> 451 61600 1000.00000 #> 452 61400 1000.00000 #> 453 62600 1000.00000 #> 454 61700 1000.00000 #> 455 62400 1000.00000 #> 456 62500 1000.00000 #> 457 65000 1000.00000 #> 458 62900 1000.00000 #> 459 62400 1000.00000 #> 460 61600 1000.00000 #> 461 64000 1000.00000 #> 462 63900 1000.00000 #> 463 61900 1000.00000 #> 464 62000 1000.00000 #> 465 62100 1000.00000 #> 466 61400 1000.00000 #> 467 62700 1000.00000 #> 468 61800 1000.00000 #> 469 62100 1000.00000 #> 470 62300 1000.00000 #> 471 61900 1000.00000 #> 472 61700 1000.00000 #> 473 64300 1000.00000 #> 474 62600 1000.00000 #> 475 61700 1000.00000 #> 476 60900 1000.00000 #> 477 63500 1000.00000 #> 478 61500 1000.00000 #> 479 61800 1000.00000 #> 480 62500 1000.00000 #> 481 61700 1000.00000 #> 482 62200 1000.00000 #> 483 62200 1000.00000 #> 484 62800 1000.00000 #> 485 61300 1000.00000 #> 486 61600 1000.00000 #> 487 61700 1000.00000 #> 488 62200 1000.00000 #> 489 64100 1000.00000 #> 490 62100 1000.00000 #> 491 61400 1000.00000 #> 492 61100 1000.00000 #> 493 61900 1000.00000 #> 494 61800 1000.00000 #> 495 61700 1000.00000 #> 496 61200 1000.00000 #> 497 62100 1000.00000 #> 498 61900 1000.00000 #> 499 62100 1000.00000 #> 500 62200 1000.00000