脚本系统:TCC和V8的简单对比

阅读更多
项目中使用V8做为脚本系统,运行速度基本能满足需要,但是有两点问题不太好处理:
一、C++到JS的相互调用及数据类型转换有一定的性能损失
二、GC时的stop-the-world中断时间
这两点基本是无解的。而且发现在最新的V8中,GC的时间不降反升,于是尝试了一下TCC,希望能解决部分问题。

对比方式是用一个简单的相加函数,在脚本中实现,在宿主中调用。

  #include 
  #include 
  #include 
  
  using namespace v8;
  
  int main(int argc, char** argv)
  {
      HandleScope scope;
      Persistent context=Context::New();
      Context::Scope context_sceop(context);
  
      Handle source=String::New("function fun1(a, b) { return a+b; }");
      Handle
                    
                    

你可能感兴趣的:(V8,JS,TCC)