繁体   English   中英

将类似于JavaScript的结构编译为静态快速C ++的最佳方法是什么?

[英]What is the best way to compile JavaScript-like structures to static, fast C++?

从非常类似于JavaScript的语言到C ++的编译器开发中,我需要一种表示数据结构的方法。 JavaScript的主要数据结构是数组和哈希表。 数组更简单:我可以使用无类型指针向量 因为JS数组是动态的,所以它必须是向量,因为JS数组可以容纳任何类型的对象,所以它必须是指针,例如:

var array = [1,2,[3,4],"test"];

除此以外,我看不到其他表示方式(在那儿吗?)。 对于哈希,我可以使用类似的方法,除了在访问时包括字符串哈希步骤。

问题是:将JavaScript散列JIT编译为实际的C ++对象,这可能比散列要快得多 这样,恐怕我试图生成类似C ++的尝试实际上会导致比JavaScript版本慢的代码!

  1. 那有意义吗?
  2. 什么是对我的编译器最好的方法?

如果这是AOT编译器,则显然只能处理在编译时看到的哈希键。 在这种情况下,您可以将对已知键的哈希访问更改为数组访问,为每个已知键提供一个小的整数作为索引。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM