Skip to content

Commit

Permalink
Close #2 add benchmarks
Browse files Browse the repository at this point in the history
  • Loading branch information
Gianluca Arbezzano committed Jan 12, 2015
1 parent c4efced commit b47c7a9
Show file tree
Hide file tree
Showing 4 changed files with 306 additions and 3 deletions.
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,12 @@ $arr2 = [
var_dump($mergeManager->merge($arr1, $arr2));
// output ["companyId"=>"024", "companyCode": "B353sf", "companyName": "Fox"]
```

## Benchamarks
```
GianArb\Benchmarks\Util\ArrayMergeEvent
Method Name Iterations Average Time Ops/second
------------------------------- ------------ -------------- -------------
mergeTwoArrayWithNativeFunction: [1,000 ] [0.0000039789677] [251,321.46923]
mergeTwoArrayWithPriority : [1,000 ] [0.0000096676350] [103,437.91462]
```
61 changes: 61 additions & 0 deletions benchmarks/GianArb/Benchmarks/Util/ArrayMergeEvent.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<?php
namespace GianArb\Benchmarks\Util;

use Athletic\AthleticEvent;

class ArrayMergeEvent extends AthleticEvent
{
private $menager;

public function setUp()
{
$this->manager = new \GianArb\Util\PriorityArray();
$first = [
'companyId' => 0,
'companyCode' => 1,
'companyName' => 1,
];
$second = [
'companyId' => 1,
'companyCode' => 0,
'companyName' => 0,
];
$this->manager->setMapPriority($first, $second);
}

/**
* @iterations 1000
*/
public function mergeTwoArrayWithNativeFunction()
{
$arr1 = array(
'companyId' => '012',
'companyCode' => 'B353sf',
'companyName' => 'Fox',
);
$arr2 = array(
'companyId' => '024',
'companyCode' => 'A352gh',
'companyName' => 'BBC',
);
array_merge($arr1, $arr2);
}

/**
* @iterations 1000
*/
public function mergeTwoArrayWithPriority()
{
$arr1 = array(
'companyId' => '012',
'companyCode' => 'B353sf',
'companyName' => 'Fox',
);
$arr2 = array(
'companyId' => '024',
'companyCode' => 'A352gh',
'companyName' => 'BBC',
);
$this->manager->merge($arr1, $arr2);
}
}
6 changes: 4 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"php": ">=5.3"
},
"require-dev": {
"phpunit/phpunit": "~4.4"
"phpunit/phpunit": "~4.4",
"athletic/athletic": "~0.1"
},
"autoload": {
"psr-0": {
Expand All @@ -14,7 +15,8 @@
},
"autoload-dev": {
"psr-0": {
"GianArb\\Util\\": "tests"
"GianArb\\Util\\": "tests",
"GianArb\\": ["./benchmarks/"]
}
},
"license": "MIT",
Expand Down
233 changes: 232 additions & 1 deletion composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit b47c7a9

Please sign in to comment.