xref: /plugin/davcal/vendor/sabre/vobject/bin/rrulebench.php (revision a1a3b6794e0e143a4a8b51d3185ce2d339be61ab)
1*a1a3b679SAndreas Boehler<?php
2*a1a3b679SAndreas Boehler
3*a1a3b679SAndreas Boehlerinclude __DIR__ . '/../vendor/autoload.php';
4*a1a3b679SAndreas Boehler
5*a1a3b679SAndreas Boehlerif ($argc < 4) {
6*a1a3b679SAndreas Boehler    echo "sabre/vobject ", Sabre\VObject\Version::VERSION, " RRULE benchmark\n";
7*a1a3b679SAndreas Boehler    echo "\n";
8*a1a3b679SAndreas Boehler    echo "This script can be used to measure the speed of the 'recurrence expansion'\n";
9*a1a3b679SAndreas Boehler    echo "system.";
10*a1a3b679SAndreas Boehler    echo "\n";
11*a1a3b679SAndreas Boehler    echo "Usage: " . $argv[0] . " inputfile.ics startdate enddate\n";
12*a1a3b679SAndreas Boehler    die();
13*a1a3b679SAndreas Boehler}
14*a1a3b679SAndreas Boehler
15*a1a3b679SAndreas Boehlerlist(, $inputFile, $startDate, $endDate) = $argv;
16*a1a3b679SAndreas Boehler
17*a1a3b679SAndreas Boehler$bench = new Hoa\Bench\Bench();
18*a1a3b679SAndreas Boehler$bench->parse->start();
19*a1a3b679SAndreas Boehler
20*a1a3b679SAndreas Boehlerecho "Parsing.\n";
21*a1a3b679SAndreas Boehler$vobj = Sabre\VObject\Reader::read(fopen($inputFile,'r'));
22*a1a3b679SAndreas Boehler
23*a1a3b679SAndreas Boehler$bench->parse->stop();
24*a1a3b679SAndreas Boehler
25*a1a3b679SAndreas Boehlerecho "Expanding.\n";
26*a1a3b679SAndreas Boehler$bench->expand->start();
27*a1a3b679SAndreas Boehler
28*a1a3b679SAndreas Boehler$vobj->expand(new DateTime($startDate), new DateTime($endDate));
29*a1a3b679SAndreas Boehler
30*a1a3b679SAndreas Boehler$bench->expand->stop();
31*a1a3b679SAndreas Boehler
32*a1a3b679SAndreas Boehlerecho $bench,"\n";
33