小编Roh*_*lla的帖子

将一个数组列表复制到另一个数组列表的最快方法

我在公司编写的测试中遇到了与java的ArrayList相关的问题.我的查询只是实际问题的一小部分.

假设我们有以下函数将一个ArrayList复制到另一个:

void function(List<E> l)
{
    List<E> m = new ArrayList<E>(l);
}
Run Code Online (Sandbox Code Playgroud)

问题基本上要求优化此复制操作.列表可能包含一百万个条目.我尝试了以下方法:

Collections.copy

System.Arraycopy

都加进去

但所有这些似乎比给定的方法慢.我需要一个比给定方法更快的方法,或者它是可用的最佳方法?

java arraylist

8
推荐指数
1
解决办法
4071
查看次数

LLVM中的FunctionPass用于C ++输入

我试图通过LLVM解析代码,在我的C / C ++代码中打印所有函数的名称。我参考了此处给出的示例http://llvm.org/docs/WritingAnLLVMPass.html#basic-code-required 该示例适用于C代码输入,但对于C ++输入,它在一个简单的Hello World程序中显示以下函数名称

__cxx_global_var_init

主要

全球 _I_a

然后,我发现LLVM的iostream存在某些问题,如下所述:http : //llvm.org/docs/FAQ.html#what-is-this-llvm-global-ctors-and-global-ia-stuff-that当我包含iostream时发生

我从代码中删除了iostream,然后仅获得“ main”作为输出。

但是对于可以说包含以下功能的多功能C ++程序:convertperm,findType和main(没有iostream),我得到以下输出

_Z11convertpermSs

_Z8findtypeSs

主要

多功能C程序正常运行

谁能提供解决此问题的方法?

compiler-construction llvm llvm-clang

3
推荐指数
1
解决办法
732
查看次数