问题标签 [judy-array]
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 中使用 Judy 数组吗?
在我的一个 Python 实验(另一个线程)中,Judy Array 的内存足迹给我留下了深刻的印象。无论如何在Java(c lib或任何移植版本)中使用它?如果不是,任何替代方案都可以提供类似的好处?
multithreading - 并发使用 Judy Array
我想要一个键值数据结构,它可以支持 C 中多个线程的并发读取操作,支持 1M 键值。我想 Judy 数组在内存消耗和速度方面都很好。
与 RCU 或 Google densehash 的标准哈希实现相比,它的表现如何?我可以跨多个线程使用单个 Judy 数组实例吗?在 JUDYSL 中,值类型只有 uint 我可以存储结构/对象的实例以及如何存储?
c++11 - 发现 JudyArray 的错误实现
我正在尝试为这种情况提供更好的错误报告(可能的错误)(关于 judySArray 给出不正确的结果,但我不知道哪个键给出了不正确的结果)。此文件夹中的代码,请注意此博客。依赖项:judySArray.h和cedar.h
其他实现(map、unordered_map、hat-trie 和 cedar)给出正确的结果:
但朱迪没有:
问题是,哪个键的结果不正确?
我试图构建一个代码,将这些键插入另一个数据结构(即cedar
),但仍然没有检测到不正确的键:
编译:(clang++ -std=c++11 judy-findbug.cpp
或g++ -std=c++11
)
输出将是:
cedar
比judy
's 多一个值(这是正确的),但上面的代码没有检测到它。如何找到不正确的键?
php - 在 RHEL 6 下编译时出现 Judy Array 错误
我有 RHEL6 服务器,并尝试为 php 5.3 编译 Judy 数组库。
- 我从 sourceforge 获得了资源,
- 为朱迪安装 rpm,
- 与
ln -s
in =/usr/local/src/Judy-1.0.2/include 链接到与 RPM 一起安装的 libJudy.so.1。但也有 libJudy.so.1.0.3 ...我应该为它做点什么吗.. - 运行 phpize 获取资源,
- ./configure --with-judy=/usr/local/src/Judy-1.0.2 (成功)。正如我从配置日志中发现的那样,它正在为包含目录中的 judy lib 进行搜索,所以我在其中创建了指向 so 的链接。
- 制作 ...
并有很多错误,例如:
和许多其他人。
我制作了制作过程的 strace 日志,发现了这个:
这是日志的结尾。我卡在了这个地方。不幸的是,我不是 C 编译专家(.
在终端我看到这个:
谁能告诉我要寻找什么?我发现这是翻译的问题.. 但是为什么呢?什么?如何?.. ahr( 请告诉我你是否有类似的问题。
php - 多维 Judy 数组
我试图将 Judy 改编为我的代码,几乎将其用作传统的 php 数组,但我在尝试访问多维数组时遇到了麻烦。每次我尝试打印嵌套键值时,我都会得到一个 NULL。
- 我如何迭代我的结果?
- 我如何将此结构编码为json?每次我尝试时,我都会得到一个空括号“{}”
我的代码:
c - C:如何在 Judy Hash 中插入和读取字符串
我一直在四处寻找答案,但我仍然不清楚我应该做什么。
在所有官方示例中,所有值和索引以及指向它们的指针都是 Word_t 或 PWord_t 类型,据我所知,这只是某种类型的 int。我的困惑是试图理解它如何引用 char* 或缓冲区(char[])或原始字符串(“string”)
这是我尝试过的东西,但输出难以理解(就像您在打印二进制文件时看到的那样)
输出是:
php - 在 Windows 上安装 PHP Judy
我是 php 新手,我想在 Windows 上使用 Judy Arrays,但我在安装时遇到了麻烦。
我按照页面http://php.net/manual/en/judy.installation.php上的步骤进行操作,然后我进入了获得“Judy.lib”文件的步骤,但我不知道下一步该做什么。它说
“将其复制到 php-sdk 库文件夹中并将其命名为“libJudy.lib”,然后将包含文件“judy.h”复制到 php-sdk 包含文件夹中。
但我不知道“php-sdk 库和包含文件夹”是什么
c - 在 Judy Arrays 的 32 位构建中标记为未定义但不是 64 位的结构集?
我正在尝试使用 Judy Arrays 进行测试。我编写了一个简短的程序,它基本上测试了使用 JSLI 和 JSLG 函数从 Judy 数组中简单地插入和检索字符串。程序插入一个字符串列表,然后找到它们并按照插入和检索的顺序打印出这些字符串。我试图用 GCC 编译。
当我使用 64 版本的 Judy(按照安装文件中指定的说明进行操作)时,程序运行良好。当我使用 32 位版本时,我的程序无法编译,抛出一个关于未定义结构的错误列表,如下所示。什么可能导致这样的错误?
完整的错误信息:
data-structures - 有人可以从 Judy 数据结构文档中解释这一行吗?
http://judy.sourceforge.net/downloads/10minutes.htm
问题——为什么只需要 4 个缓存行填充?这些天缓存行不是 64 字节吗?
对于 2^32(或 256^4)的扩展,对于最坏情况的高度填充的 256 进制数字树访问,最多需要 4 个缓存行填充。在 2^64(或 256^8)的范围内,8 个缓存行填充将是最坏的情况。在实践中,朱迪做得比这要好得多。原因(部分)是由于密钥的“密度”很少是“大多数”子扩展中的最低可能数字。增加朱迪树的深度需要高密度和高人口。解释原因需要很长时间。简短的版本是与沙子的类比。建造一个高大的沙堆需要大量的沙子,特别是如果它需要 256 个沙粒来支撑上面的 1 个沙粒。在 64 位 Judy 中,它可能需要比地球上现有的更多的 RAM 才能使其具有 8 个级别。