|
1 | 1 |
|
2 | | -996 |
| 2 | +ORM Compare |
3 | 3 | ========= |
4 | | -**996** 是指指早上9点上班、晚上9点下班,并且一周工作6天的工作制度,代表着中国互联网企业盛行的加班文化,是一种违反《中华人民共和国劳动法》的工作制度。 |
| 4 | +Which feature do you want? |
5 | 5 |
|
6 | | -**996真的管用吗? 955能做出996的活,那才叫牛!** |
7 | | -**请注意:** 我并不是想让程序员和开发人员做更多的活,而是试着分析其中的原因,然后提出更加高效的编程方法!最终减轻一线IT人员的负担! |
| 6 | +Test Evn : Local windows |
| 7 | +DB: MySQL (Version 5.6.24) |
| 8 | +Test point: Batch Insert;Select paging; Transaction(update and select). |
8 | 9 |
|
| 10 | +<table cellspacing="0" cellpadding="0"> |
| 11 | + <col width="62" /> |
| 12 | + <col width="69" /> |
| 13 | + <col width="64" /> |
| 14 | + <col width="69" span="2" /> |
| 15 | + <col width="96" /> |
| 16 | + <tr height="19"> |
| 17 | + <td colspan="6" height="19" width="429"><div align="center">Batch Insert(unit: ms)</div></td> |
| 18 | + </tr> |
| 19 | + <tr height="19"> |
| 20 | + <td height="19"> </td> |
| 21 | + <td>5k</td> |
| 22 | + <td>1w</td> |
| 23 | + <td>2w</td> |
| 24 | + <td>5w</td> |
| 25 | + <td>10w</td> |
| 26 | + </tr> |
| 27 | + <tr height="19"> |
| 28 | + <td height="19">Bee</td> |
| 29 | + <td align="right">880</td> |
| 30 | + <td align="right">720</td> |
| 31 | + <td align="right">620</td> |
| 32 | + <td align="right">1420</td> |
| 33 | + <td align="right">4700</td> |
| 34 | + </tr> |
| 35 | + <tr height="19"> |
| 36 | + <td height="19">Bee</td> |
| 37 | + <td align="right">359</td> |
| 38 | + <td align="right">358</td> |
| 39 | + <td align="right">484</td> |
| 40 | + <td align="right">1248</td> |
| 41 | + <td align="right">4000</td> |
| 42 | + </tr> |
| 43 | + <tr height="19"> |
| 44 | + <td height="19">Bee</td> |
| 45 | + <td align="right">348</td> |
| 46 | + <td align="right">297</td> |
| 47 | + <td align="right">546</td> |
| 48 | + <td align="right">1279</td> |
| 49 | + <td align="right">3470</td> |
| 50 | + </tr> |
| 51 | + <tr height="19"> |
| 52 | + <td height="19">(AVG)</td> |
| 53 | + <td align="right">529.00 </td> |
| 54 | + <td align="right">458.33 </td> |
| 55 | + <td align="right">550.00 </td> |
| 56 | + <td align="right">1315.67 </td> |
| 57 | + <td align="right">4056.67 </td> |
| 58 | + </tr> |
| 59 | + <tr height="10"> |
| 60 | + <td height="10"> </td> |
| 61 | + <td> </td> |
| 62 | + <td> </td> |
| 63 | + <td> </td> |
| 64 | + <td> </td> |
| 65 | + <td> </td> |
| 66 | + </tr> |
| 67 | + <tr height="19"> |
| 68 | + <td height="19">MyBatis</td> |
| 69 | + <td align="right">1513</td> |
| 70 | + <td align="right">1092</td> |
| 71 | + <td align="right">1466</td> |
| 72 | + <td align="right">1700</td> |
| 73 | + <td>Not Support</td> |
| 74 | + </tr> |
| 75 | + <tr height="19"> |
| 76 | + <td height="19">MyBatis</td> |
| 77 | + <td align="right">1045</td> |
| 78 | + <td align="right">577</td> |
| 79 | + <td align="right">812</td> |
| 80 | + <td align="right">1923</td> |
| 81 | + <td>Not Support</td> |
| 82 | + </tr> |
| 83 | + <tr height="19"> |
| 84 | + <td height="19">MyBatis</td> |
| 85 | + <td align="right">1021</td> |
| 86 | + <td align="right">470</td> |
| 87 | + <td align="right">1600</td> |
| 88 | + <td align="right">1850</td> |
| 89 | + <td>Not Support</td> |
| 90 | + </tr> |
| 91 | + <tr height="19"> |
| 92 | + <td height="19">(AVG)</td> |
| 93 | + <td align="right">1193</td> |
| 94 | + <td align="right">713</td> |
| 95 | + <td align="right">1292.67 </td> |
| 96 | + <td align="right">1824.33 </td> |
| 97 | + <td>Exception</td> |
| 98 | + </tr> |
| 99 | +</table> |
| 100 | +<p> </p> |
| 101 | +<table cellspacing="0" cellpadding="0"> |
| 102 | + <col width="62" /> |
| 103 | + <col width="69" /> |
| 104 | + <col width="64" /> |
| 105 | + <col width="69" span="2" /> |
| 106 | + <col width="96" /> |
| 107 | + <tr height="19"> |
| 108 | + <td height="19" colspan="6"> |
| 109 | + <div align="center">select(unit: ms) </div></td> |
| 110 | + </tr> |
| 111 | + <tr height="19"> |
| 112 | + <td width="62" height="19"> </td> |
| 113 | + <td width="69" align="right">20</td> |
| 114 | + <td width="64" align="right">50</td> |
| 115 | + <td width="69" align="right">100</td> |
| 116 | + <td width="69" align="right">200</td> |
| 117 | + <td width="96" align="right">500</td> |
| 118 | + </tr> |
| 119 | + <tr height="19"> |
| 120 | + <td height="19">Bee</td> |
| 121 | + <td align="right">21</td> |
| 122 | + <td align="right">20</td> |
| 123 | + <td align="right">46</td> |
| 124 | + <td align="right">51</td> |
| 125 | + <td align="right">67</td> |
| 126 | + </tr> |
| 127 | + <tr height="19"> |
| 128 | + <td height="19">Bee</td> |
| 129 | + <td align="right">16</td> |
| 130 | + <td align="right">78</td> |
| 131 | + <td align="right">32</td> |
| 132 | + <td align="right">16</td> |
| 133 | + <td align="right">61</td> |
| 134 | + </tr> |
| 135 | + <tr height="19"> |
| 136 | + <td height="19">Bee</td> |
| 137 | + <td align="right">15</td> |
| 138 | + <td align="right">78</td> |
| 139 | + <td align="right">79</td> |
| 140 | + <td align="right">48</td> |
| 141 | + <td align="right">44</td> |
| 142 | + </tr> |
| 143 | + <tr height="19"> |
| 144 | + <td height="19">(AVG)</td> |
| 145 | + <td align="right">17.33 </td> |
| 146 | + <td align="right">58.67 </td> |
| 147 | + <td align="right">52.33 </td> |
| 148 | + <td align="right">38.33 </td> |
| 149 | + <td align="right">57.33 </td> |
| 150 | + </tr> |
| 151 | + <tr height="9"> |
| 152 | + <td height="9"> </td> |
| 153 | + <td> </td> |
| 154 | + <td> </td> |
| 155 | + <td> </td> |
| 156 | + <td> </td> |
| 157 | + <td> </td> |
| 158 | + </tr> |
| 159 | + <tr height="19"> |
| 160 | + <td height="19">MyBatis</td> |
| 161 | + <td align="right">99</td> |
| 162 | + <td align="right">313</td> |
| 163 | + <td align="right">1795</td> |
| 164 | + <td align="right">2232</td> |
| 165 | + <td align="right">6160</td> |
| 166 | + </tr> |
| 167 | + <tr height="19"> |
| 168 | + <td height="19">MyBatis</td> |
| 169 | + <td align="right">423</td> |
| 170 | + <td align="right">655</td> |
| 171 | + <td align="right">1622</td> |
| 172 | + <td align="right">2310</td> |
| 173 | + <td align="right">6260</td> |
| 174 | + </tr> |
| 175 | + <tr height="19"> |
| 176 | + <td height="19">MyBatis</td> |
| 177 | + <td align="right">421</td> |
| 178 | + <td align="right">370</td> |
| 179 | + <td align="right">1221</td> |
| 180 | + <td align="right">2341</td> |
| 181 | + <td align="right">6230</td> |
| 182 | + </tr> |
| 183 | + <tr height="19"> |
| 184 | + <td height="19">(AVG)</td> |
| 185 | + <td align="right">314.33 </td> |
| 186 | + <td align="right">446.00 </td> |
| 187 | + <td align="right">1546.00 </td> |
| 188 | + <td align="right">2294.33 </td> |
| 189 | + <td align="right">6216.67 </td> |
| 190 | + </tr> |
| 191 | +</table> |
| 192 | +<p> </p> |
| 193 | +<table cellspacing="0" cellpadding="0"> |
| 194 | + <col width="62" /> |
| 195 | + <col width="69" /> |
| 196 | + <col width="64" /> |
| 197 | + <col width="69" span="2" /> |
| 198 | + <col width="96" /> |
| 199 | + <tr height="19"> |
| 200 | + <td colspan="6" height="19" width="429"><div align="center">Transaction(update and select) (unit: ms)</div></td> |
| 201 | + </tr> |
| 202 | + <tr height="19"> |
| 203 | + <td height="19"> </td> |
| 204 | + <td align="right">20</td> |
| 205 | + <td align="right">50</td> |
| 206 | + <td align="right">100</td> |
| 207 | + <td align="right">200</td> |
| 208 | + <td align="right">500</td> |
| 209 | + </tr> |
| 210 | + <tr height="19"> |
| 211 | + <td height="19">Bee</td> |
| 212 | + <td align="right">1081</td> |
| 213 | + <td align="right">70</td> |
| 214 | + <td align="right">80</td> |
| 215 | + <td align="right">140</td> |
| 216 | + <td align="right">31600</td> |
| 217 | + </tr> |
| 218 | + <tr height="19"> |
| 219 | + <td height="19">Bee</td> |
| 220 | + <td align="right">1076</td> |
| 221 | + <td align="right">78</td> |
| 222 | + <td align="right">78</td> |
| 223 | + <td align="right">173</td> |
| 224 | + <td align="right">31240</td> |
| 225 | + </tr> |
| 226 | + <tr height="19"> |
| 227 | + <td height="19">Bee</td> |
| 228 | + <td align="right">1110</td> |
| 229 | + <td align="right">62</td> |
| 230 | + <td align="right">94</td> |
| 231 | + <td align="right">171</td> |
| 232 | + <td align="right">31688</td> |
| 233 | + </tr> |
| 234 | + <tr height="19"> |
| 235 | + <td height="19">(AVG)</td> |
| 236 | + <td align="right">1089.00 </td> |
| 237 | + <td align="right">70.00 </td> |
| 238 | + <td align="right">84.00 </td> |
| 239 | + <td align="right">161.33 </td> |
| 240 | + <td align="right">31509.33 </td> |
| 241 | + </tr> |
| 242 | + <tr height="10"> |
| 243 | + <td height="10"> </td> |
| 244 | + <td> </td> |
| 245 | + <td> </td> |
| 246 | + <td> </td> |
| 247 | + <td> </td> |
| 248 | + <td> </td> |
| 249 | + </tr> |
| 250 | + <tr height="19"> |
| 251 | + <td height="19">MyBatis</td> |
| 252 | + <td align="right">1170</td> |
| 253 | + <td align="right">31</td> |
| 254 | + <td align="right">79</td> |
| 255 | + <td align="right">146</td> |
| 256 | + <td align="right">32404</td> |
| 257 | + </tr> |
| 258 | + <tr height="19"> |
| 259 | + <td height="19">MyBatis</td> |
| 260 | + <td align="right">1092</td> |
| 261 | + <td align="right">33</td> |
| 262 | + <td align="right">79</td> |
| 263 | + <td align="right">141</td> |
| 264 | + <td align="right">32891</td> |
| 265 | + </tr> |
| 266 | + <tr height="19"> |
| 267 | + <td height="19">MyBatis</td> |
| 268 | + <td align="right">1170</td> |
| 269 | + <td align="right">41</td> |
| 270 | + <td align="right">81</td> |
| 271 | + <td align="right">151</td> |
| 272 | + <td align="right">31171</td> |
| 273 | + </tr> |
| 274 | + <tr height="19"> |
| 275 | + <td height="19">(AVG)</td> |
| 276 | + <td align="right">1144</td> |
| 277 | + <td align="right">35</td> |
| 278 | + <td>79.67 </td> |
| 279 | + <td align="right">146.00 </td> |
| 280 | + <td align="right">32155.33 </td> |
| 281 | + </tr> |
| 282 | +</table> |
9 | 283 |
|
10 | | -### 试着从时代背景分析996的原因: |
11 | | - 近年来软件需求越来越复杂,变化越来越快,导致软件规模越来越大,交付时间反而要求越来越短。编程(编码)技术没有得到改进,无法适应互联网信息爆炸时代的需求。虽然架构技术有进步,但编码技术也要相应改进。犹如十年前,很多是建10层楼,现在建100层。虽然框架结构的技术跟上了,但每个房间所要砌砖的速度并没有增长10倍。那只能是加人,或者延长工人砌砖时间。每一个房间好比软件系统中每一个小模块,一般都需要编码MVC代码;若不降低编码复杂度,则无法适应当前快速变化的时代需求。换个角度,降低编码复杂度,软件开发效率自然就上去了。 |
12 | | - 手工业时代的996加班,就能胜过机器大工业时代吗? 显然不能。 机器大工业时代也不可能胜过智能制造时代。 提高生产效率,提高生产力才是不变的真理!**加班是奋斗,提高效率也是奋斗**;换个角度,降低编码复杂度,软件生产率自然就提上去了。软件行业除了艰苦奋斗,也需要创新,需要提高软件生产率,提高软件生产力。**提高软件生产率不但是奋斗,而且还是创新**。 |
13 | | - 作为程序员或开发人员的你,还记得开发javaweb系统,是如何写mvc的程序了吗? 当操作一个DB表时,要写一份dao;当两个表时,就要写两份dao;当n个表时,就要写n份dao。其实这样开发,实际是做了许多重复、类似的工作。当有人告诉你,很多情况下,你其实只用写一个dao,有何感想? |
14 | 284 |
|
15 | | - 在以前的年代里,我们写了实在是太多的冤枉代码,以致消耗了我们不少的青春。以上举的例子,只是我们工作中的一部分,除了mvc,orm,还有html,我们也是写了许多没必要的代码。学过数据结构都知道,时间复杂度是O(1)的代码,会比是O(n)的代码,快n倍;但我们是否意识到编码复杂度是O(n)的程序比编码复杂度是O(1)的多写了多少代码吗? n可是一个会膨胀的量呀,想想都后怕。 |
16 | | - 花上10分钟,去了解下 "**编码复杂度**" 的概念吧, 还有第一个实现 编码复杂度是O(1)的ORM框架-**[Bee](https://github.com/automvc/bee)**。相信你这10分钟,不会白花,你完成软件的工作效率不提升n倍,也有0.8n。 **Bee的编码复杂度为O(1)**,即用了**Bee**,你可以不用另外写dao代码。 |
| 285 | +**Bee** is an ORM framework. |
| 286 | +**Bee** is an easy and high efficiency ORM framework. **Easy for Stronger.** |
| 287 | +**Coding Complexity is O(1),it means that Bee will do the Dao for you**. |
17 | 288 |
|
18 | | -**Bee** 网址: |
| 289 | +**Bee** see: |
19 | 290 | https://github.com/automvc/bee |
20 | | - |
21 | | -**Bee在gitee** 的网址: |
22 | | -https://gitee.com/automvc/bee |
|
0 commit comments