问题标签 [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.
java - Java中具有连续区域的整数集
我想要 int 树集实现,它针对具有很多连续区域的集合进行了优化。
例如,这样的树可以知道它包含从 100 到 150 的整个区域,因此一旦找到该区域,就会搜索 120 个结束。
类似地,如果 set 包含区域 500...506 和 508...600,则一旦添加 507,两个区域就会合并。
如果删除数字,类似的区域可以拆分
java - 为什么Java方法的整数参数映射到Int而不是平台类型?
受到另一个问题的启发。
在fastutil
库IntArrayList
中有一个具有以下 Java 签名的方法的类:
在 Kotlin 中,它被视为
是否有特定原因,Int
而不是平台类型Int!
?
我希望它push(o: Int!)
至少是因为在具有 Kotlin 源的项目中的 Java 源中定义的具有相同签名的方法具有Int!
从 Kotlin 看到的参数类型(甚至在不同的模块中定义,甚至从该模块的 jar 导入!)。
此外,所描述的行为会导致与合法具有参数的(在同一类中)push(Integer o)
发生冲突——它们都被视为. 如果有for ,就不会有冲突(我也尝试在我的代码中定义这对方法——仍然可以按我的预期工作,有)。push(int o)
Int
push(o: Int)
Int!
Integer
Int!
Kotlin 版本是1.0.2
.
Gradle 依赖项fastutil
:
java - LibGDX:其他库不工作?
我正在为我的游戏使用 LibGDX,并且我正在尝试使用 FastUtilInt2BooleanArrayMap
来存储我的关键状态(上/下)。
不幸的是,我收到了这个奇怪的错误:
对于我的输入处理器,代码非常简单:
我能做些什么呢?
scala - 如何运行和基于专业化的不同代码路径
在使用像FastUtils这样的框架和 Scala 时,由于框架本身具有专门的数据结构,您如何根据有效的专业化生成适当的代码?即,您如何以编程方式找出什么是专门化的并执行适当的代码?那么在这种情况下如何处理与路径相关的类型。
为了objects
因为char
我希望它是:
但这应该是基于专业化的T
。如果我要换一种说法,sudo 代码可能会像
scala - 等价于 fastutil 中的 scala hashmap
我想在我的 spark 流应用程序(scala)中使用 fastutill 类。我使用的是 hashmap,但基于Spark 文档,他们建议使用 fastutill 类而不是 hashmap。首先,我想知道这些类是否值得,然后想知道 fast utill 中用于 hashmap 的等效类是什么。
特别是我正在使用哈希图
HashMap[Key_Object, ArrayBuffer[Value_object]..我想知道 fastutill 中最好的集合是什么
java - Java Hashmap 合并函数
我想HashMap<Integer,Linkedlist<long[]>>
从另一个嵌套的哈希图构建一个。我对hashmap 的合并函数有一些疑问:该函数似乎只接受参数类型相同的双函数。
这意味着当我使用以下方法来构建这个哈希图时......(使用一个接受两个不同类型参数的函数)
...我收到以下错误:
此时我修改了将 long[] 数组包装成 LinkedList 的 map2array 函数:
虽然这个版本可以工作,但在每次操作时,它都会创建一个既不必要又低效的链表:有没有办法避免创建链表并坚持原来的方法?
java - 如何在 fastutils 中实现线程安全或不可变集合?
Fastutil 似乎是 Java 中集合的最快选择。
有这些javadocs: http: //fastutil.di.unimi.it/docs/it/unimi/dsi/fastutil/longs/Long2ObjectMaps.SynchronizedMap.html
但我很难找到用法示例。
我怎样才能有一个同步的(线程安全的?)映射?不可变的地图?
java - 比 Java 中的 O(log N) int set 实现更快?
Fastutil 有很好的类 IntAVLTreeSet ,它有我需要的方法#firstInt()
。#lastInt()
不幸的是,AVL 树是 O(log N)。
是否有 O(1) 的实现?有可能吗?
更新
我想要 O(1) 查找。寻找边距可能会更慢。
java - 如何在 fastutil 中创建只读集合?
在标准库中,我们有类似的方法Collections#unmodifiableCollection()
在 fastutil 中找不到相同的类型集合。请提示!
optimization - Profiled Java App - 为什么地图查找速度很慢?
在使用 JProfiler 和 YourKit 分析 Java 应用程序后,我看到了访问 Long to Object Map 的多种方法,我们使用 fast util 的 map 来实现高吞吐量,而数组很慢。应用程序在一个滴答声环境中运行,如果你愿意,一个游戏循环会在线程上的每个滴答声之间暂停 50 毫秒。每次滴答,实体的位置都会从带有它们的块位置的地图中抓取,但是抓取这些数据会以某种方式产生 200 毫秒以上的延迟峰值。有什么方法可以优化地图查找/实时实体位置抓取?我尝试在实体对象中本地存储一个块以避免访问地图,但这会创建更多内存(我们有 8k+ 个实体被勾选)并且可能会泄漏。
我们目前有一个带有多人客户端的服务器游戏循环的实现。数据包与游戏机制(碰撞、实体滴答)一起在单个线程上进行处理。我们尝试接近多线程环境,但这会产生大量需要锁定和同步技术的竞争条件,这总体上会减慢滴答循环并使用内核中的大量 CPU。单线程运行良好;但是,大部分延迟来自地图查找、数组查找、碰撞对象创建和实体移动等。您知道优化这些循环的任何好主意吗?