I have been thinking about whether to write an object pool for. net. After reading the results, I don't think so .. Net memory management has actually entered an optimization. It may be our common object pool.
First look at. netCode:
[Testmethod]
Public
VoidTestallocpakcage ()
{
Byte[] PKG;
For(IntI = 0; I <50000; I ++)
{
PKG =New
Byte[2048];
PKG [100] = 1;
}
}
Test results:
Let's look at the C ++ code:
# Include
"Stdafx. H"
# Include
"Time. H"
ClassPacket
{
Public:
CharBuffer [2024];
};
Int_ Tmain (IntArgc, _ tchar * argv [])
{
Packet * test;
Clock_t start, end;
Start = clock ();
For(IntI = 0; I <50000; I ++)
{
Test =NewPacket ();
For(IntJ = 0; j <100; j ++)
{
Test-> buffer [J] = J;
}
DeleteTest;
}
End = clock ();
DoubleDuration = (Double) (End-Start)/clocks_per_sec;
Printf ("% F seconds \ n", Duration );
Getchar ();
Return0;
}
Test results:
If there are any errors, please point them out.