Skip to content

Instantly share code, notes, and snippets.

@tiffany-taylor
Last active April 23, 2021 21:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tiffany-taylor/4071472fb51d19532a1fc984cc2d0fc0 to your computer and use it in GitHub Desktop.
Save tiffany-taylor/4071472fb51d19532a1fc984cc2d0fc0 to your computer and use it in GitHub Desktop.
<?php
$sData = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae euismod nisl. Praesent id dapibus augue. Integer elementum sapien at rutrum cursus. Maecenas sodales fringilla ipsum, vel lobortis ligula. In non semper enim. Donec viverra rhoncus velit, id finibus eros consequat eget. Praesent eget dolor vel tellus condimentum fermentum. Fusce leo tellus, semper at lectus sit amet, ullamcorper mollis est. Phasellus blandit sodales orci, ac maximus est ultricies vel. Integer dui ipsum, volutpat eget tortor eu, consequat placerat diam. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Maecenas vitae cursus ante, aliquet porttitor sem. Vivamus laoreet lorem eget ultrices commodo. Nunc nec metus orci. Integer ut elementum est. Ut ut sem id enim egestas maximus consectetur id sapien.
Maecenas dapibus suscipit ultricies. Phasellus varius iaculis ullamcorper. Proin sit amet tortor rutrum, ornare diam vel, venenatis velit. Pellentesque molestie egestas posuere. Phasellus a dui condimentum, efficitur quam a, porttitor ex. Sed vel turpis lacinia, blandit elit ac, tempor justo. Sed ligula felis, bibendum eget odio vel, ultrices consectetur libero. Integer vehicula, ipsum eu placerat placerat, nunc arcu scelerisque tellus, dictum venenatis tortor lectus vel ex. Mauris placerat aliquet faucibus. Aenean pellentesque, lacus et tincidunt gravida, lorem odio ultricies odio, sit amet egestas nisi libero gravida dui.
Sed ut orci augue. In hac habitasse platea dictumst. Phasellus vitae tempor tellus. Ut elit dui, sagittis scelerisque tincidunt vel, molestie eu mauris. Quisque finibus lacus leo, ut facilisis nulla fringilla vitae. In ultrices lectus et nisi faucibus, sit amet luctus nibh bibendum. Nam scelerisque sem sit amet orci viverra luctus. Vestibulum consectetur magna libero, vitae cursus arcu maximus vel. Vestibulum sit amet purus lobortis, interdum magna id, convallis ipsum. Suspendisse iaculis ipsum sed nulla cursus, vel faucibus risus aliquet.
In hac habitasse platea dictumst. In imperdiet purus sit amet nisi iaculis ultricies. Phasellus ut porttitor lorem, quis fermentum justo. Suspendisse ut interdum nibh. Aliquam semper justo nec lacus facilisis aliquam. Curabitur rutrum mattis nunc et dignissim. Nullam volutpat massa nibh, at semper leo porta ac. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Donec et lacus at nibh laoreet venenatis. Vestibulum eget nisl sed nisl luctus finibus. Sed in scelerisque est. Phasellus fringilla justo vitae aliquam iaculis. Donec sed leo dapibus, eleifend nisi et, aliquet elit. Sed scelerisque blandit sapien elementum elementum. Nunc efficitur felis dui, sit amet faucibus ligula consequat vitae.
Nam sagittis eros sit amet rhoncus commodo. In elementum erat sit amet sapien scelerisque, nec fermentum ante pulvinar. Donec efficitur bibendum massa eu blandit. Phasellus condimentum interdum nunc vel placerat. Ut aliquam leo eu sapien aliquam, eu viverra nunc congue. Vestibulum ut quam blandit, consequat nisi non, facilisis tellus. Donec dignissim mauris a neque pharetra rutrum. Integer a felis elementum, interdum leo a, dignissim erat. Duis rutrum diam at quam interdum tempus. Pellentesque viverra hendrerit est, vitae sodales urna. Donec feugiat arcu non sapien vulputate mollis. Etiam lacinia neque vitae neque ornare sagittis. Curabitur hendrerit sem a odio rutrum, vel volutpat orci facilisis. Donec non fringilla mauris, nec vestibulum libero. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Praesent urna lorem, fringilla sed placerat tempor, euismod fermentum ante. Proin efficitur, eros tincidunt pharetra iaculis, quam augue placerat magna, sit amet pellentesque sapien odio quis ipsum. Ut lobortis fringilla mi, eu feugiat ex gravida in. Fusce ullamcorper feugiat porta. Cras vestibulum augue vitae hendrerit iaculis. Cras sollicitudin mi ut tempus varius. Aliquam ac pulvinar orci.
Duis eu massa urna. Donec sed tellus urna. Praesent vel sagittis tortor, in pharetra est. Duis imperdiet quis risus vitae tempor. Mauris feugiat lorem ut libero ultricies fringilla. Donec lobortis libero a aliquet aliquet. Vivamus luctus metus nibh, iaculis finibus nibh feugiat a. Fusce scelerisque, ex a malesuada mollis, ex dolor porttitor est, suscipit euismod eros ipsum eget eros. In rutrum mi a sapien lacinia dignissim. Maecenas hendrerit tincidunt ornare. In in orci id ante rhoncus porttitor.
Integer id lacinia odio. Nulla eu tortor sodales, rutrum purus sit amet, tempor est. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Pellentesque auctor semper enim. Vivamus sed finibus metus. Praesent sit amet nunc et massa finibus blandit at vitae purus. Nunc dignissim a enim eget suscipit. Fusce auctor sem consequat urna ultricies consectetur. Donec vulputate finibus dolor vestibulum consectetur. Nulla in tortor interdum, malesuada dui sed, venenatis massa. In convallis et justo ac finibus. Aliquam viverra mollis aliquam. Etiam sit amet metus orci.
Suspendisse accumsan congue eleifend. Praesent non feugiat quam. Suspendisse tempus tortor nec arcu faucibus pharetra. Praesent dapibus ex ut orci fermentum varius. Nulla vitae arcu feugiat, condimentum leo quis, dictum dui. Vivamus pellentesque luctus euismod. Nullam vel dictum diam. Sed euismod leo at venenatis vulputate.
Nulla facilisi. Mauris lectus arcu, dictum at libero et, vehicula iaculis nulla. Ut cursus arcu non augue luctus elementum. Fusce sed dapibus lectus, eget gravida sem. Phasellus cursus ut risus in sollicitudin. Integer quam sapien, ultricies nec tellus id, volutpat bibendum leo. In feugiat turpis vel tellus condimentum, vel pellentesque metus pulvinar. Etiam maximus massa aliquam ipsum accumsan, elementum rhoncus orci malesuada. Mauris ac dictum sem, et viverra lectus. In eu libero ac lectus aliquet tempor tempor sed nulla.
Sed vitae cursus risus, a malesuada ligula. Duis metus metus, ornare sed sodales sed, hendrerit eget purus. Fusce pellentesque non enim id vulputate. Cras lobortis consectetur risus, vel pulvinar odio tincidunt ultrices. Sed sollicitudin porttitor metus, id condimentum nulla venenatis et. Sed in nisl vel ante tincidunt sollicitudin. Nullam ac tortor pellentesque sem condimentum efficitur ut in metus. Vestibulum eget tellus porta, suscipit erat eget, feugiat metus. Ut quam arcu, blandit ut augue vel, tincidunt ornare leo. In posuere varius maximus. Fusce gravida id dolor ac rhoncus. Maecenas ultricies mauris vitae congue condimentum. Phasellus venenatis ligula ipsum, ac egestas tellus vulputate id.
Aliquam eu velit ullamcorper, dignissim nisi eu, ultrices quam. Aliquam fringilla, eros sed ultricies blandit, elit mauris commodo metus, in ullamcorper nibh ligula ut ex. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam vestibulum purus risus, euismod facilisis dui molestie in. Vivamus eu metus feugiat, accumsan dolor in, rutrum enim. Phasellus massa orci, faucibus et odio ut, consectetur luctus felis. Nam sit amet fermentum metus. Curabitur commodo eget leo in accumsan. Etiam ac lobortis ex. In at faucibus metus, ut dictum velit.
In vitae quam ultricies, elementum leo in, suscipit orci. Donec ac fermentum metus, vel elementum eros. Duis sollicitudin hendrerit viverra. Sed id justo quam. Aliquam nec purus eu nibh sollicitudin feugiat. Sed venenatis ante in convallis ultricies. Aenean facilisis euismod augue, id cursus nibh interdum at. Mauris neque libero, aliquet ut enim vitae, fermentum blandit magna. Nullam pretium tortor vitae elit iaculis, eu consequat magna interdum. Suspendisse potenti. Nulla efficitur vestibulum sapien ut molestie. Nulla pretium, massa sed tempus sodales, ante metus scelerisque tellus, in accumsan nunc dolor eget lectus. Nam gravida elit sed velit pretium, sed porttitor leo posuere. Curabitur vel gravida metus. Morbi eleifend maximus cursus.
Cras vel consectetur mi, sed congue magna. Integer lacinia tortor semper nunc gravida, sed rutrum est posuere. Integer auctor lorem et erat pharetra, a tincidunt turpis luctus. Proin a pretium erat, vitae aliquet arcu. Fusce blandit massa quis erat ullamcorper, a maximus eros consequat. Quisque blandit ornare tortor, non efficitur arcu laoreet at. Nunc sed tempus dui. Aliquam aliquam ligula vitae semper ornare. Sed et elit augue. Morbi sed nulla lobortis justo malesuada posuere. Ut in accumsan nisl.
Nulla elit urna, dictum sit amet vulputate vitae, lacinia ut diam. Suspendisse ut orci felis. Integer consectetur est a ante aliquet dignissim. Nam euismod at orci nec dignissim. Suspendisse interdum sed velit sit amet semper. Pellentesque a arcu risus. Maecenas congue tincidunt bibendum. Nam condimentum lorem nec risus consequat gravida. Mauris elementum ornare gravida. Quisque at nulla et ligula porttitor molestie non in odio. Maecenas commodo mauris vel dolor condimentum faucibus. Proin cursus augue sit amet velit fringilla consequat.
Ut vulputate varius elementum. Etiam dictum maximus mauris in blandit. In mi nunc, convallis eu dui vitae, sollicitudin rutrum elit. Curabitur vitae lobortis orci, id efficitur lectus. Aenean fringilla commodo urna ac bibendum. Curabitur dui velit, venenatis ut egestas quis, scelerisque ac ex. Duis magna turpis, malesuada ornare ipsum quis, sodales semper nunc. Donec in est et nibh consequat dignissim ut a nunc. Nam tortor nunc, placerat ac condimentum id, hendrerit et dolor. Sed eget semper felis, sed elementum arcu. Aliquam lacinia dui nec consequat elementum. Sed sit amet mauris a elit feugiat accumsan. Etiam arcu metus, sodales a vulputate id, sollicitudin vel elit. Aenean condimentum vestibulum ante vel porta. Aenean id dictum velit. Vestibulum sapien lacus, mattis vitae libero sagittis, vulputate porttitor enim.
Vestibulum lobortis tortor turpis, in facilisis ipsum molestie non. Nunc mattis nunc luctus, pulvinar tortor nec, semper nisi. Curabitur at leo nisi. Nunc sed nunc ullamcorper diam mattis malesuada. Duis vulputate nisl nisl. Morbi nec aliquet felis, eu egestas ante. Nullam at augue nec dui fringilla malesuada ac ut turpis. In tellus nibh, pellentesque sit amet suscipit placerat, posuere eu nulla. Sed et leo a ipsum sollicitudin sodales. Phasellus nunc tortor, lobortis a urna vitae, efficitur interdum quam. Donec sit amet augue nisi. Nam mattis tortor non porttitor sagittis. Aliquam sollicitudin tellus ut enim scelerisque, id aliquet tortor maximus. Donec ante nulla, euismod eget enim in, accumsan consequat odio. Quisque ullamcorper ex feugiat nulla scelerisque lacinia. Morbi eget risus mi.
Donec velit nulla, faucibus posuere orci ac, convallis volutpat magna. Nam ut felis vel tortor volutpat maximus a in sapien. Mauris pharetra enim id elit sodales, eget vulputate velit pharetra. Etiam consectetur rutrum facilisis. Suspendisse vitae egestas quam. Aenean ac diam at nulla ullamcorper malesuada eleifend et sem. Morbi eget convallis nisl, vel euismod orci. Aliquam pharetra lectus quis malesuada dignissim. Aenean eget aliquam dolor, tempor interdum libero. In hac habitasse platea dictumst. Nullam id nisl non ligula iaculis commodo. Suspendisse varius sit amet est non scelerisque. Curabitur sed interdum odio, sollicitudin venenatis ante. Suspendisse ac erat iaculis, molestie mi eget, egestas enim. Etiam facilisis dolor sed enim lacinia, id rutrum tortor ultricies.
Maecenas non imperdiet turpis. Nam nibh libero, elementum a fringilla lobortis, ullamcorper vel elit. Suspendisse eu nibh consectetur, lacinia lacus in, faucibus libero. Etiam malesuada massa id quam iaculis mattis eu nec erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Phasellus vel justo sit amet odio varius bibendum. Suspendisse tincidunt congue arcu eu scelerisque. Ut quis venenatis dui. Cras quis egestas risus. Maecenas elementum commodo eleifend. Sed nec aliquet turpis.
Praesent euismod sapien risus, id interdum turpis malesuada non. Nam bibendum, enim vitae malesuada luctus, diam quam mattis nulla, sed laoreet justo ante sed elit. Aenean suscipit quam pulvinar hendrerit semper. Fusce dictum suscipit ipsum. Donec aliquam, ex vulputate vehicula dignissim, velit orci fringilla tellus, non ultrices arcu neque eget lectus. Fusce accumsan ipsum enim, eu laoreet leo bibendum eu. Nullam scelerisque tristique porttitor. Vivamus semper aliquam mollis. Morbi eleifend, eros et molestie efficitur, elit dui condimentum tortor, eu tincidunt est massa porta dui. Nulla vitae vehicula lectus, ac placerat quam. Nulla magna quam, imperdiet sit amet lectus ac, hendrerit varius lacus. Etiam nec enim elit. Aliquam non nibh sit amet nisi convallis mattis. Quisque laoreet diam in eros consequat, ac consequat mi volutpat. Quisque iaculis mi vitae tellus fringilla venenatis.
In auctor lorem metus, vel euismod odio pharetra in. Aenean tempus justo enim, ultrices sollicitudin leo tempus at. Praesent id lectus et tellus porttitor fringilla. Pellentesque et quam eros. In hac habitasse platea dictumst. Aliquam imperdiet, nulla eu aliquam ornare, neque ante consectetur sapien, quis sodales enim est non elit. Morbi egestas sodales nulla nec laoreet. Sed semper velit ut hendrerit rutrum. Donec est nulla, ultrices pretium turpis eget, pharetra sagittis tortor. Duis rutrum fringilla arcu semper fermentum. Donec tempor quam ut eros posuere, at euismod ante condimentum. Fusce lobortis pellentesque iaculis.
Aenean cursus suscipit sodales. Nunc tempus vel arcu nec tempus. In viverra tempus ex, vitae bibendum sem ullamcorper vel. Donec erat eros, ultricies id malesuada viverra, congue vitae metus. Vestibulum nunc ante, tristique eget lorem vitae, tempor aliquam justo. Nam sit amet ligula purus. Nam rutrum, turpis sit amet imperdiet aliquet, dolor lorem tempor orci, quis ultrices dui ex eget nisl. Sed eu egestas mauris. Sed ut magna elementum orci pharetra fermentum. Sed hendrerit diam in laoreet semper. Aenean vitae finibus ante. Aliquam quis purus at lorem placerat rutrum. Vestibulum id sapien a purus vehicula maximus ac vitae augue. Praesent sit amet finibus tortor.
Proin velit mi, scelerisque sit amet velit ut, consequat ultrices risus. Duis sollicitudin non quam sit amet condimentum. Mauris mattis arcu id dolor faucibus, a facilisis ante convallis. Nullam semper turpis vel lorem pretium, mollis convallis nibh suscipit. Nullam vel massa a risus venenatis ornare. Proin vehicula nibh euismod, blandit magna vel, tempus velit. In posuere lectus non erat placerat vestibulum. Vivamus consectetur urna nec lectus volutpat, sit amet porta massa gravida. Cras cursus leo eget justo feugiat placerat. Nunc cursus efficitur interdum. Donec semper luctus nunc, nec ullamcorper ipsum cursus sed. In vestibulum felis id scelerisque egestas.
Etiam ut iaculis nunc. Aenean vehicula nisl eget quam viverra commodo vitae quis enim. Etiam libero arcu, finibus eu blandit nec, maximus fermentum ipsum. Sed accumsan faucibus ex, in lobortis sapien interdum venenatis. Sed elementum euismod dignissim. Phasellus dapibus justo et velit rhoncus, vel volutpat diam blandit. Mauris tortor velit, aliquam eget neque eu, hendrerit vulputate nulla. Praesent id mollis dolor, sed gravida eros. Praesent libero tortor, volutpat vitae malesuada et, finibus nec nibh. Pellentesque in interdum justo. Vivamus facilisis vel massa nec molestie. Aenean in velit mattis, laoreet purus gravida, consectetur felis.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla tristique ligula ex, sit amet egestas felis varius eu. Mauris id posuere dui. Pellentesque sit amet erat enim. Nunc vehicula velit ex, ut blandit turpis varius sed. Aliquam fermentum efficitur nibh, eget ornare ligula pellentesque et. Nam iaculis neque sit amet enim elementum, eget sagittis lorem pharetra. In nec tempus dui. Phasellus at tellus vel arcu lacinia tempor. Donec vestibulum magna ut felis scelerisque, at sollicitudin sapien viverra. Praesent vel tempus velit.";
class temporaryClass {
public function __construct (array $kArgs = []) {
if (!empty($kArgs)) {
foreach ($kArgs as $sProp => $xVal) {
$this->{$sProp} = $xVal;
}
}
}
public function __destruct () {
$myself = new ReflectionClass($this);
foreach ($myself->getProperties() as $oProp) {
unset($this->{$oProp->getName()});
}
unset($myself);
}
}
function foo () {
return new temporaryClass(['text' => $sData]);
}
function bar () {
$nIndex = 0;
$aRef = [];
do {
$aRef []= foo();
$nIndex ++;
} while ($nIndex < 10000);
//echo "bar: " . memory_get_usage(false) . " / " . memory_get_usage(true) . \PHP_EOL;
//echo "Count: " . count($aRef) . PHP_EOL;
while ($xRef = array_shift($aRef)) {
unset($xRef);
}
unset($nIndex);
unset($aRef);
//gc_collect_cycles ();
}
function gama () {
$nIndex = 0;
$aRef = [];
do {
$aRef []= $sData;
$nIndex ++;
} while ($nIndex < 10000);
//echo "bar: " . memory_get_usage(false) . " / " . memory_get_usage(true) . \PHP_EOL;
//echo "Count: " . count($aRef) . PHP_EOL;
while ($xRef = array_shift($aRef)) {
unset($xRef);
}
unset($nIndex);
unset($aRef);
//gc_collect_cycles ();
}
echo "init: " . memory_get_usage(false) . " / " . memory_get_usage(true) . \PHP_EOL;
if ($argv[1] === 'array') {
gama();
} else {
bar();
}
echo "end: " . memory_get_usage(false) . " / " . memory_get_usage(true) . \PHP_EOL;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment