Java 为android应用程序编写汇编语言代码
我有一个非常大的字符串列表…(ArraList myList),我想很快从列表中删除重复的项。我将这些项复制到HashMap中,这是我找到的最好的算法,但它还不够快。。。 我发现了一些东西,比如使用本机语言编写代码并在android应用程序中实现,我们可以使用本机语言从列表中删除重复项吗?是否有任何用汇编语言编写的函数可以比java更快地完成这项工作 如果没有,是否有一个函数可以比java更快地比较两个字符串 有没有用汇编语言编写的函数比java编写的更快 这样的功能是否已经存在?我不知道。。。我不知道如果有人会怎么发现它 你能写这样一个函数吗?大概理论上Java 为android应用程序编写汇编语言代码,java,android,assembly,Java,Android,Assembly,我有一个非常大的字符串列表…(ArraList myList),我想很快从列表中删除重复的项。我将这些项复制到HashMap中,这是我找到的最好的算法,但它还不够快。。。 我发现了一些东西,比如使用本机语言编写代码并在android应用程序中实现,我们可以使用本机语言从列表中删除重复项吗?是否有任何用汇编语言编写的函数可以比java更快地完成这项工作 如果没有,是否有一个函数可以比java更快地比较两个字符串 有没有用汇编语言编写的函数比java编写的更快 这样的功能是否已经存在?我不知道。。。
- 假设有一个函数在理论上尽可能快地执行此任务(在某些上下文中)
- 无论函数是用哪种语言编写的,都应该能够找出函数编译器(或汇编程序)的机器代码
- 完成后,您可以将机器代码转换为汇编程序。。。提供一个汇编语言函数,以最大性能执行任务
- 由于这样一个汇编程序(理论上)是存在的,一个足够聪明/熟练/耐心的人(理论上)可以编写它。。。从头开始
如果没有,是否有一个函数可以比java更快地比较两个字符串
我看不出这有多大帮助。如果正确使用
哈希集
,则字符串比较不应成为问题的性能瓶颈。即使你的重复率很高也不行。要回答这个问题,可以使用C语言为Android编程。而且,由于从C到汇编程序的过程相当短,所以在汇编程序中也可能实现。尽管Java的性能目前相当不错,但声称任何语言都无法更快地检查数组中的重复项,这在我看来似乎有点高估了
然而,语言之间的切换是复杂的,对于如此琐碎的任务,您只需访问一个级别的数组就可能降低性能
重新考虑算法可能更合理。例如:
- 如果您只需要迭代列表,但必须对其进行排序,请使用
。这将防止重复项目的开始李>LinkedHashSet
- 如果有大量重复项,则删除操作可能过于昂贵,因为阵列的大部分可能会移动很多次。尝试将要删除的项改为null,然后从头开始重新创建数组,跳过null李>
ArrayList
中,而不是一开始就放在Set
中?HashMap?为什么不是哈希集?我有一个列表。。现在我想使用Contact.write()方法删除重复项。。。此方法以字符串形式返回其所有内容的联系人。我还不清楚,但如果我没有弄错的话。。使用“Java本机接口”可以避免通过JIT编译器。。我的问题是。。“如果仅仅通过参数将列表的数据移动到汇编函数中,并将清理后的列表作为‘返回’再次获取,代码将消耗我试图避免的所有时间..通过将列表移动到哈希集..函数中导致延迟的大部分是什么..在回答中回答问题..不要问更多。这就是在评论部分是因为我正在从文件(5000个vcf文件)中读取字符串…有没有办法比较两个文件的联系人并删除其中一个,如果它们是相同的?