加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Simdjson:一个超高速的JSON解析工具

发布时间:2019-03-25 17:45:55 所属栏目:建站 来源:周大涛编译
导读:JSON文档在Internet上无处不在,处事器耗费大量时刻来理会这些文档。我们但愿在举办完全验证(包罗字符编码)时尽也许行使常用的SIMD指令来加快JSON自己的理会。 示意功效 simdjson行使的指令比最先辈的理会器RapidJSON少四分之三,比sajson少百分之五十。

以下函数将查找全部user.id整数:

  1. void simdjson_traverse(std::vector<int64_t> &answer, ParsedJson::iterator &i) { 
  2.   switch (i.get_type()) { 
  3.   case '{': 
  4.     if (i.down()) { 
  5.       do { 
  6.         bool founduser = equals(i.get_string(), "user"); 
  7.         i.next(); // move to value 
  8.         if (i.is_object()) { 
  9.           if (founduser && i.move_to_key("id")) { 
  10.             if (i.is_integer()) { 
  11.               answer.push_back(i.get_integer()); 
  12.             } 
  13.             i.up(); 
  14.           } 
  15.           simdjson_traverse(answer, i); 
  16.         } else if (i.is_array()) { 
  17.           simdjson_traverse(answer, i); 
  18.         } 
  19.       } while (i.next()); 
  20.       i.up(); 
  21.     } 
  22.     break; 
  23.   case '[': 
  24.     if (i.down()) { 
  25.       do { 
  26.         if (i.is_object_or_array()) { 
  27.           simdjson_traverse(answer, i); 
  28.         } 
  29.       } while (i.next()); 
  30.       i.up(); 
  31.     } 
  32.     break; 
  33.   case 'l': 
  34.   case 'd': 
  35.   case 'n': 
  36.   case 't': 
  37.   case 'f': 
  38.   default: 
  39.     break; 
  40.   } 
深入较量

假如您想相识各类理会器怎样验证给定的JSON文件:

  1. make allparserscheckfile 
  2. ./allparserscheckfile myfile.json 

对付机能较量:

  1. make parsingcompetition 
  2. ./parsingcompetition myfile.json 

举办更普及的较量:

  1. make allparsingcompetition 
  2. ./allparsingcompetition myfile.json 

【编辑保举】

  1. SAP 开源 SCA 器材,扫描软件包依靠裂痕
  2. Gartner陈诉:正处于数据科学与呆板进修器材 “大爆炸”的期间
  3. 可视化及时Web日记说明器材,堪称神器!
  4. 超 100000 个 GitHub 代码库泄漏了 API 或加密密钥
  5. 怎样阅读一份源代码?
【责任编辑:张燕妮 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读