将类似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 版本慢!
- 这有意义吗?
- 编译器的最佳方法是什么?
如果这是一个AOT编译器,显然,您只能处理在编译时看到的哈希键。在这种情况下,您可以将对已知键的哈希访问更改为数组访问,为每个已知键提供一个小整数作为索引。
相关文章:
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 大量序列中核苷酸类型的快速计数
- 为什么比较运算符如此快速
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 实现无开销push_back的最佳方法是什么
- 在c代码之间共享数据的最佳方式
- 使用std::source_location报告错误的最佳实践
- OpenCV C++.快速计算混淆矩阵
- 派生类销毁的最佳实践是什么
- 用C++快速读写文件
- 将寄存器设计成可由C和C++访问的外设的最佳实践
- 在两台机器之间进行时间戳的最佳c++chrono函数是什么
- 使用QQuickFramebufferObject时同步数据的最佳方式是什么
- 在C++中向零方向近似的最佳方法
- 分离类所有权和使用,生成最佳(快速)代码
- 用于快速查找的最佳 STL 容器
- C++ 最佳键值容器,可按值排序,并可快速删除
- 快速排序最佳情况比平均情况更糟糕
- 在文件中存储已知最大长度的字符串以快速加载到C++矢量的最佳方法<string>
- 将类似JavaScript的结构编译为静态,快速C++的最佳方法是什么?