问题标签 [fastutil]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
143 浏览

java - Java中具有连续区域的整数集

我想要 int 树集实现,它针对具有很多连续区域的集合进行了优化。

例如,这样的树可以知道它包含从 100 到 150 的整个区域,因此一旦找到该区域,就会搜索 120 个结束。

类似地,如果 set 包含区域 500...506 和 508...600,则一旦添加 507,两个区域就会合并。

如果删除数字,类似的区域可以拆分

0 投票
1 回答
485 浏览

java - 为什么Java方法的整数参数映射到Int而不是平台类型?

受到另一个问题的启发。

fastutilIntArrayList中有一个具有以下 Java 签名的方法的类:

在 Kotlin 中,它被视为

是否有特定原因,Int而不是平台类型Int!

我希望它push(o: Int!)至少是因为在具有 Kotlin 源的项目中的 Java 源中定义的具有相同签名的方法具有Int!从 Kotlin 看到的参数类型(甚至在不同的模块中定义,甚至从该模块的 jar 导入!)。

此外,所描述的行为会导致与合法具有参数的(在同一类中)push(Integer o)发生冲突——它们都被视为. 如果有for ,就不会有冲突(我也尝试在我的代码中定义这对方法——仍然可以按我的预期工作,有)。push(int o)Intpush(o: Int)Int!IntegerInt!


Kotlin 版本是1.0.2.

Gradle 依赖项fastutil

0 投票
0 回答
84 浏览

java - LibGDX:其他库不工作?

我正在为我的游戏使用 LibGDX,并且我正在尝试使用 FastUtilInt2BooleanArrayMap来存储我的关键状态(上/下)。

不幸的是,我收到了这个奇怪的错误:

对于我的输入处理器,代码非常简单:

我能做些什么呢?

0 投票
1 回答
50 浏览

scala - 如何运行和基于专业化的不同代码路径

在使用像FastUtils这样的框架和 Scala 时,由于框架本身具有专门的数据结构,您如何根据有效的专业化生成适当的代码?即,您如何以编程方式找出什么是专门化的并执行适当的代码?那么在这种情况下如何处理与路径相关的类型。

为了objects

因为char我希望它是:

但这应该是基于专业化的T。如果我要换一种说法,sudo 代码可能会像

0 投票
1 回答
644 浏览

scala - 等价于 fastutil 中的 scala hashmap

我想在我的 spark 流应用程序(scala)中使用 fastutill 类。我使用的是 hashmap,但基于Spark 文档,他们建议使用 fastutill 类而不是 hashmap。首先,我想知道这些类是否值得,然后想知道 fast utill 中用于 hashmap 的等效类是什么。

特别是我正在使用哈希图

HashMap[Key_Object, ArrayBuffer[Value_object]..我想知道 fastutill 中最好的集合是什么

0 投票
0 回答
492 浏览

java - Java Hashmap 合并函数

我想HashMap<Integer,Linkedlist<long[]>>从另一个嵌套的哈希图构建一个。我对hashmap 的合并函数有一些疑问:该函数似乎只接受参数类型相同的双函数。

这意味着当我使用以下方法来构建这个哈希图时......(使用一个接受两个不同类型参数的函数)

...我收到以下错误:

此时我修改了将 long[] 数组包装成 LinkedList 的 map2array 函数:

虽然这个版本可以工作,但在每次操作时,它都会创建一个既不必要又低效的链表:有没有办法避免创建链表并坚持原来的方法?

0 投票
2 回答
1139 浏览

java - 如何在 fastutils 中实现线程安全或不可变集合?

Fastutil 似乎是 Java 中集合的最快选择。

有这些javadocs: http: //fastutil.di.unimi.it/docs/it/unimi/dsi/fastutil/longs/Long2ObjectMaps.SynchronizedMap.html

但我很难找到用法示例。

我怎样才能有一个同步的(线程安全的?)映射?不可变的地图?

0 投票
1 回答
127 浏览

java - 比 Java 中的 O(log N) int set 实现更快?

Fastutil 有很好的类 IntAVLTreeSet ,它有我需要的方法#firstInt()#lastInt()

不幸的是,AVL 树是 O(log N)。

是否有 O(1) 的实现?有可能吗?

更新

我想要 O(1) 查找。寻找边距可能会更慢。

0 投票
1 回答
90 浏览

java - 如何在 fastutil 中创建只读集合?

在标准库中,我们有类似的方法Collections#unmodifiableCollection()

在 fastutil 中找不到相同的类型集合。请提示!

0 投票
0 回答
72 浏览

optimization - Profiled Java App - 为什么地图查找速度很慢?

在使用 JProfiler 和 YourKit 分析 Java 应用程序后,我看到了访问 Long to Object Map 的多种方法,我们使用 fast util 的 map 来实现高吞吐量,而数组很慢。应用程序在一个滴答声环境中运行,如果你愿意,一个游戏循环会在线程上的每个滴答声之间暂停 50 毫秒。每次滴答,实体的位置都会从带有它们的块位置的地图中抓取,但是抓取这些数据会以某种方式产生 200 毫秒以上的延迟峰值。有什么方法可以优化地图查找/实时实体位置抓取?我尝试在实体对象中本地存储一个块以避免访问地图,但这会创建更多内存(我们有 8k+ 个实体被勾选)并且可能会泄漏。

我们目前有一个带有多人客户端的服务器游戏循环的实现。数据包与游戏机制(碰撞、实体滴答)一起在单个线程上进行处理。我们尝试接近多线程环境,但这会产生大量需要锁定和同步技术的竞争条件,这总体上会减慢滴答循环并使用内核中的大量 CPU。单线程运行良好;但是,大部分延迟来自地图查找、数组查找、碰撞对象创建和实体移动等。您知道优化这些循环的任何好主意吗?