Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Post History
It's just depend on PHP version. Above PHP 7 PHP object is faster and slightly heavier than array. On PHP 5 and below array is faster and lighter. My test code: <?php $jsonobj = '{"Peter":3...
Answer
#3: Post edited
It's just depend on PHP version. Above PHP 7 PHP object is faster and lighter than array. On PHP 5 and below array is faster.- My test code:
- ```
- <?php
- $jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
- $t0 = microtime(true);
- $arraysOf=array();
- $inicio=memory_get_usage();
- for ($i=0; $i<100000; $i++) {
- $arraysOf[] = json_decode($jsonobj,true);
- }
- $fin=memory_get_usage();
- $timeArray = microtime(true) - $t0;
- $memArray = $fin-$inicio;
- echo '<p>arrays: '.$timeArray."</p>";
- echo '<p>memory: '.$memArray."</p>";
- $t0 = microtime(true);
- $arraysOf=array();
- $inicio=memory_get_usage();
- for ($i=0; $i<100000; $i++) {
- $arraysOf[] = json_decode($jsonobj);
- }
- $fin=memory_get_usage();
- $timeObject = microtime(true) - $t0;
- $memObject = $fin-$inicio;
- echo '<p>Object: '.$timeObject."</p>";
- echo '<p>memory: '.$memObject."</p>";
- $timeDiff = abs(round((1 - $timeArray / $timeObject) * 100));
- $memDiff = abs(round((1 - $memObject / $memArray) * 100));
- $speed = $timeArray>$timeObject?"Slower":"Faster";
- $speed2 = $memObject>$memArray?"Lighter":"Heavier";
- echo '<p>associative arrays is '.$timeDiff.'% '.$speed.' and '.$memDiff.'% '.$speed2.' than object</p>';
- ?>
- ```
- I tested on php 5.4, 7.4 and 8.
- You can test and check the result on:
- - [https://php5.gj.lc/](https://php5.gj.lc/)
- > associative arrays is 25% Faster and 18% Lighter than object
- - [https://php7.gj.lc/](https://php7.gj.lc/)
- > associative arrays is 22% Slower and 10% Lighter than object
- - [https://php8.gj.lc/](https://php8.gj.lc/)
- > associative arrays is 14% Slower and 10% Lighter than object
- It's just depend on PHP version. Above PHP 7 PHP object is faster and slightly heavier than array. On PHP 5 and below array is faster and lighter.
- My test code:
- ```
- <?php
- $jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
- $t0 = microtime(true);
- $arraysOf=array();
- $inicio=memory_get_usage();
- for ($i=0; $i<100000; $i++) {
- $arraysOf[] = json_decode($jsonobj,true);
- }
- $fin=memory_get_usage();
- $timeArray = microtime(true) - $t0;
- $memArray = $fin-$inicio;
- echo '<p>arrays: '.$timeArray."</p>";
- echo '<p>memory: '.$memArray."</p>";
- $t0 = microtime(true);
- $arraysOf=array();
- $inicio=memory_get_usage();
- for ($i=0; $i<100000; $i++) {
- $arraysOf[] = json_decode($jsonobj);
- }
- $fin=memory_get_usage();
- $timeObject = microtime(true) - $t0;
- $memObject = $fin-$inicio;
- echo '<p>Object: '.$timeObject."</p>";
- echo '<p>memory: '.$memObject."</p>";
- $timeDiff = abs(round((1 - $timeArray / $timeObject) * 100));
- $memDiff = abs(round((1 - $memObject / $memArray) * 100));
- $speed = $timeArray>$timeObject?"Slower":"Faster";
- $speed2 = $memObject>$memArray?"Lighter":"Heavier";
- echo '<p>associative arrays is '.$timeDiff.'% '.$speed.' and '.$memDiff.'% '.$speed2.' than object</p>';
- ?>
- ```
- I tested on php 5.4, 7.4 and 8.
- You can test and check the result on:
- - [https://php5.gj.lc/](https://php5.gj.lc/)
- > associative arrays is 25% Faster and 18% Lighter than object
- - [https://php7.gj.lc/](https://php7.gj.lc/)
- > associative arrays is 22% Slower and 10% Lighter than object
- - [https://php8.gj.lc/](https://php8.gj.lc/)
- > associative arrays is 14% Slower and 10% Lighter than object
#2: Post edited
- It's just depend on PHP version. Above PHP 7 PHP object is faster and lighter than array. On PHP 5 and below array is faster.
- It's just depend on PHP version. Above PHP 7 PHP object is faster and lighter than array. On PHP 5 and below array is faster.
- My test code:
- ```
- <?php
- $jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
- $t0 = microtime(true);
- $arraysOf=array();
- $inicio=memory_get_usage();
- for ($i=0; $i<100000; $i++) {
- $arraysOf[] = json_decode($jsonobj,true);
- }
- $fin=memory_get_usage();
- $timeArray = microtime(true) - $t0;
- $memArray = $fin-$inicio;
- echo '<p>arrays: '.$timeArray."</p>";
- echo '<p>memory: '.$memArray."</p>";
- $t0 = microtime(true);
- $arraysOf=array();
- $inicio=memory_get_usage();
- for ($i=0; $i<100000; $i++) {
- $arraysOf[] = json_decode($jsonobj);
- }
- $fin=memory_get_usage();
- $timeObject = microtime(true) - $t0;
- $memObject = $fin-$inicio;
- echo '<p>Object: '.$timeObject."</p>";
- echo '<p>memory: '.$memObject."</p>";
- $timeDiff = abs(round((1 - $timeArray / $timeObject) * 100));
- $memDiff = abs(round((1 - $memObject / $memArray) * 100));
- $speed = $timeArray>$timeObject?"Slower":"Faster";
- $speed2 = $memObject>$memArray?"Lighter":"Heavier";
- echo '<p>associative arrays is '.$timeDiff.'% '.$speed.' and '.$memDiff.'% '.$speed2.' than object</p>';
- ?>
- ```
- I tested on php 5.4, 7.4 and 8.
- You can test and check the result on:
- - [https://php5.gj.lc/](https://php5.gj.lc/)
- > associative arrays is 25% Faster and 18% Lighter than object
- - [https://php7.gj.lc/](https://php7.gj.lc/)
- > associative arrays is 22% Slower and 10% Lighter than object
- - [https://php8.gj.lc/](https://php8.gj.lc/)
- > associative arrays is 14% Slower and 10% Lighter than object