v8-native-prototype TurboFan 解码器开源项目

我要开发同款
匿名用户2015年06月25日
14阅读
开发技术C/C++
所属分类程序开发、常用工具包
授权协议BSD

作品详情

v8-native-prototype是用于TurboFan的原型本地解码器。

示例代码:

void TestWasmDecodingSpeed() {  byte code[] = {kStmtSetLocal, 0, kExprInt32Add, kExprGetLocal, 0,                 kExprInt8Const, 5};  Zone zone;  LR_WasmDecoder decoder(&zone, nullptr);  FunctionSig::Builder builder(&zone, 1, 1);  builder.AddReturn(kAstInt32);  builder.AddParam(kAstInt32);  FunctionEnv env = {nullptr, builder.Build(), 0, 0, 0, 0};  // Make COUNT copies of the above code.  const int TRIALS = 10;  const int COUNT = (4 * 1024) / sizeof(code);  const int TOTAL = COUNT * sizeof(code);  byte* big_code = reinterpret_cast<byte*>(zone.New(TOTAL));  for (int i = 0; i < COUNT; i++) {    memcpy(big_code + i * sizeof(code), code, sizeof(code));  }  for (int i = 0; i < TRIALS; i++) {    base::ElapsedTimer timer;    timer.Start();    Result result = decoder.Decode(&env, big_code, big_code + TOTAL);    int64_t us = timer.Elapsed().InMicroseconds();    OFStream os(stdout);    double rate = ((TOTAL * 1000000.0) / us) / 1048576;    os << result << TOTAL << " bytes, us: " << us << " (" << rate << " MB/sec)"       << std::endl;  }}
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论