Skip to content

Instantly share code, notes, and snippets.

@hechen
Last active September 13, 2019 16:53
Show Gist options
  • Save hechen/8bea64ac9a65f0e55e822989160c3181 to your computer and use it in GitHub Desktop.
Save hechen/8bea64ac9a65f0e55e822989160c3181 to your computer and use it in GitHub Desktop.
Performance Test Result
<table>
<tr>
<td>Name</td>
<td>Iterations</td>
<td>Total time (sec)</td>
<td>Time per (ns)</td>
</tr>
<tr>
<td>16 byte memcpy</td>
<td>1000000000</td>
<td>0.7</td>
<td>0.7</td>
</tr>
<tr>
<td>Floating-point division with integer conversion</td>
<td>1000000000</td>
<td>1.1</td>
<td>1.1</td>
</tr>
<tr>
<td>Floating-point division</td>
<td>1000000000</td>
<td>1.1</td>
<td>1.1</td>
</tr>
<tr>
<td>IMP-cached message send</td>
<td>1000000000</td>
<td>1.5</td>
<td>1.5</td>
</tr>
<tr>
<td>C++ virtual method call</td>
<td>1000000000</td>
<td>1.7</td>
<td>1.7</td>
</tr>
<tr>
<td>Objective-C message send</td>
<td>1000000000</td>
<td>3.2</td>
<td>3.2</td>
</tr>
<tr>
<td>Integer division</td>
<td>1000000000</td>
<td>7.0</td>
<td>7.0</td>
</tr>
<tr>
<td>Autorelease pool push/pop</td>
<td>100000000</td>
<td>1.2</td>
<td>11.9</td>
</tr>
<tr>
<td>ObjC retain and release</td>
<td>100000000</td>
<td>2.5</td>
<td>24.7</td>
</tr>
<tr>
<td>16-byte malloc/free</td>
<td>100000000</td>
<td>7.9</td>
<td>79.5</td>
</tr>
<tr>
<td>Object creation</td>
<td>10000000</td>
<td>1.1</td>
<td>107.1</td>
</tr>
<tr>
<td>Dispatch_sync</td>
<td>100000000</td>
<td>18.0</td>
<td>180.5</td>
</tr>
<tr>
<td>NSInvocation message send</td>
<td>10000000</td>
<td>2.3</td>
<td>228.1</td>
</tr>
<tr>
<td>Dispatch queue create/destroy</td>
<td>10000000</td>
<td>5.6</td>
<td>558.2</td>
</tr>
<tr>
<td>16MB malloc/free</td>
<td>10000000</td>
<td>9.7</td>
<td>965.2</td>
</tr>
<tr>
<td>Simple JSON encode</td>
<td>1000000</td>
<td>1.1</td>
<td>1092.0</td>
</tr>
<tr>
<td>Simple JSON decode</td>
<td>1000000</td>
<td>1.3</td>
<td>1321.2</td>
</tr>
<tr>
<td>Simple binary plist decode</td>
<td>1000000</td>
<td>1.8</td>
<td>1823.6</td>
</tr>
<tr>
<td>NSView create/destroy</td>
<td>1000000</td>
<td>3.5</td>
<td>3456.1</td>
</tr>
<tr>
<td>Dispatch_async and wait</td>
<td>1000000</td>
<td>4.1</td>
<td>4081.8</td>
</tr>
<tr>
<td>Simple XML plist decode</td>
<td>1000000</td>
<td>4.2</td>
<td>4203.8</td>
</tr>
<tr>
<td>Simple XML plist encode</td>
<td>1000000</td>
<td>6.0</td>
<td>6043.5</td>
</tr>
<tr>
<td>Simple binary plist encode</td>
<td>1000000</td>
<td>8.4</td>
<td>8442.9</td>
</tr>
<tr>
<td>Read 16 byte file</td>
<td>1000000</td>
<td>14.1</td>
<td>14136.7</td>
</tr>
<tr>
<td>pthread create/join</td>
<td>100000</td>
<td>3.0</td>
<td>30483.3</td>
</tr>
<tr>
<td>Zero-zecond delayed perform</td>
<td>100000</td>
<td>3.1</td>
<td>30871.4</td>
</tr>
<tr>
<td>1MB memcpy</td>
<td>100000</td>
<td>4.0</td>
<td>40479.8</td>
</tr>
<tr>
<td>Write 16 byte file</td>
<td>10000</td>
<td>2.3</td>
<td>226949.1</td>
</tr>
<tr>
<td>Write 16 byte file (atomic)</td>
<td>10000</td>
<td>6.5</td>
<td>654741.4</td>
</tr>
<tr>
<td>NSWindow create/destroy</td>
<td>1000</td>
<td>2.7</td>
<td>2700091.1</td>
</tr>
<tr>
<td>Read 16MB file</td>
<td>1000</td>
<td>5.0</td>
<td>4975939.9</td>
</tr>
<tr>
<td>Write 16MB file</td>
<td>30</td>
<td>0.4</td>
<td>12367523.0</td>
</tr>
<tr>
<td>Write 16MB file (atomic)</td>
<td>30</td>
<td>0.4</td>
<td>12930574.0</td>
</tr>
<tr>
<td>NSTask process spawn</td>
<td>100</td>
<td>6.7</td>
<td>66649148.4</td>
</tr>
</table>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment