mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Added more "Code Size" tables
This commit is contained in:
		
							
								
								
									
										124
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										124
									
								
								README.md
									
									
									
									
									
								
							| @@ -128,9 +128,17 @@ or simply: | ||||
|     | ||||
| ## Code size | ||||
|  | ||||
| Theses tables has been created by analyzing the map file generated by AVR-GCC after adding `-Wl,-Map,foo.map` to the command line. | ||||
|  | ||||
| As you'll see the code size if between 1680 and 3528 bytes, depending on the features you use. | ||||
|  | ||||
| ### Minimum setup | ||||
|  | ||||
| <table> | ||||
| 	<tr> | ||||
| 		<th>Function</th> | ||||
| 		<th>Size in bytes</th> | ||||
| 	</tr> | ||||
| 	<tr> | ||||
| 		<td>strcmp(char*,char*)</td> | ||||
| 		<td>18</td> | ||||
| @@ -176,7 +184,119 @@ or simply: | ||||
| 		<td>18</td> | ||||
| 	</tr> | ||||
| 	<tr> | ||||
| 		<th>TOTAL</th> | ||||
| 		<th>1680</th> | ||||
| 		<td>TOTAL</td> | ||||
| 		<td>1680</td> | ||||
| 	</tr> | ||||
| </table> | ||||
|  | ||||
| ### Additional space to parse nested  objects | ||||
|  | ||||
| <table> | ||||
| 	<tr> | ||||
| 		<th>Function</th> | ||||
| 		<th>Size in bytes</th> | ||||
| 	</tr> | ||||
| 	<tr> | ||||
| 		<td>JsonArray::getArray(int)</td> | ||||
| 		<td>42</td> | ||||
| 	</tr>	 | ||||
| 	<tr> | ||||
| 		<td>JsonArray::getHashTable(int)</td> | ||||
| 		<td>64</td>		 | ||||
| 	</tr> | ||||
| 	<tr> | ||||
| 		<td>JsonHashTable::getArray(char*)</td> | ||||
| 		<td>64</td> | ||||
| 	</tr> | ||||
| 	<tr> | ||||
| 		<td>JsonHashTable::getHashTable(char*)</td> | ||||
| 		<td>42</td> | ||||
| 	</tr> | ||||
| 	<tr> | ||||
| 		<td>TOTAL</td> | ||||
| 		<td>212</td> | ||||
| 	</tr> | ||||
| </table> | ||||
|  | ||||
| ### Additional space to parse `bool` values | ||||
|  | ||||
| <table> | ||||
| 	<tr> | ||||
| 		<th>Function</th> | ||||
| 		<th>Size in bytes</th> | ||||
| 	</tr> | ||||
| 	<tr> | ||||
| 		<td>JsonObjectBase::getBoolFromToken(jsmntok_t*)</td> | ||||
| 		<td>82</td> | ||||
| 	</tr>	 | ||||
| 	<tr> | ||||
| 		<td>JsonArray::getBool(int)</td> | ||||
| 		<td>18</td>		 | ||||
| 	</tr> | ||||
| 	<tr> | ||||
| 		<td>JsonHashTable::getBool(char*)</td> | ||||
| 		<td>18</td> | ||||
| 	</tr> | ||||
| 	<tr> | ||||
| 		<td>TOTAL</td> | ||||
| 		<td>130</td> | ||||
| 	</tr> | ||||
| </table> | ||||
|  | ||||
| ### Additional space to parse `double` values | ||||
|  | ||||
| <table> | ||||
| 	<tr> | ||||
| 		<th>Function</th> | ||||
| 		<th>Size in bytes</th> | ||||
| 	</tr> | ||||
| 	<tr> | ||||
| 		<td>strtod(char*,int)</td> | ||||
| 		<td>704</td> | ||||
| 	</tr>	 | ||||
| 	<tr> | ||||
| 		<td>JsonObjectBase::getDoubleFromToken(jsmntok_t*)</td> | ||||
| 		<td>44</td> | ||||
| 	</tr>	 | ||||
| 	<tr> | ||||
| 		<td>JsonArray::getDouble(int)</td> | ||||
| 		<td>18</td>		 | ||||
| 	</tr> | ||||
| 	<tr> | ||||
| 		<td>JsonHashTable::getDouble(char*)</td> | ||||
| 		<td>18</td> | ||||
| 	</tr> | ||||
| 	<tr> | ||||
| 		<td>TOTAL</td> | ||||
| 		<td>796</td> | ||||
| 	</tr> | ||||
| </table> | ||||
|  | ||||
| ### Additional space to parse `long` values | ||||
|  | ||||
| <table> | ||||
| 	<tr> | ||||
| 		<th>Function</th> | ||||
| 		<th>Size in bytes</th> | ||||
| 	</tr> | ||||
| 	<tr> | ||||
| 		<td>strtol(char*,char**,int)</td> | ||||
| 		<td>606</td> | ||||
| 	</tr>	 | ||||
| 	<tr> | ||||
| 		<td>JsonObjectBase::getLongFromToken(jsmntok_t*)</td> | ||||
| 		<td>56</td> | ||||
| 	</tr>	 | ||||
| 	<tr> | ||||
| 		<td>JsonArray::getLong(int)</td> | ||||
| 		<td>18</td>		 | ||||
| 	</tr> | ||||
| 	<tr> | ||||
| 		<td>JsonHashTable::getLong(char*)</td> | ||||
| 		<td>18</td> | ||||
| 	</tr> | ||||
| 	<tr> | ||||
| 		<td>TOTAL</td> | ||||
| 		<td>710</td> | ||||
| 	</tr> | ||||
| </table> | ||||
		Reference in New Issue
	
	Block a user