V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  wdc63  ›  全部回复第 1 页 / 共 5 页
回复总数  92
1  2  3  4  5  
2023-09-05 08:46:08 +08:00
回复了 ob 创建的主题 OpenAI 有没有 Chatbox 的客户端替代品
@xabcstack 这不是把 sk 送给人家吗
2022-10-15 19:31:05 +08:00
回复了 wdc63 创建的主题 程序员 动态最临近点算法求助
现在两条路线:1 PH-Tree ,据作者描述 phtree 的查询插入和删除操作都是 O(logn)的复杂度,但是看了下代码很多 https://github.com/tzaeschke/phtree
2 还是使用传统的 KDTree ,由于本项目在删除插入的工作中不会重新插入任何新点,只是把已经被选择的暂时移除,然后再移动回来而已,因此这里就直接用一个 flag 标记已经被删除的点,在 kdtree 查询最近点时,遇到这种已经被“删除”的点直接跳过。目前已经根据现有项目有一个初步实现,实测这种方法性能还不错。
2022-10-14 22:59:04 +08:00
回复了 wdc63 创建的主题 程序员 动态最临近点算法求助
@nightwitch C++基础太弱,之前尝试过一个简单 单文件库都没能搞定,现成可用的库十几个.cpp 文件,难以下手。
2022-10-09 09:18:19 +08:00
回复了 wdc63 创建的主题 程序员 数据结构求助
@netnr 那每次查询都是 On ,太慢了。
2022-10-09 09:17:55 +08:00
回复了 wdc63 创建的主题 程序员 数据结构求助
@helloworld000 高峰时,每个主 loop 有上千这样的查询、删除和写入等,每秒 60-100fps 。
2022-10-08 23:43:45 +08:00
回复了 wdc63 创建的主题 程序员 数据结构求助
@liyunlong41 数学模型要求实现随机获取,不是公平问题,这个项目是一个仿真项目,不是面向用户的真实业务项目。
2022-10-08 19:41:49 +08:00
回复了 wdc63 创建的主题 程序员 数据结构求助
@fkdtz 并行读写是一部分,ConcurrentDictionary 主要是不能实现随机获取。
2022-10-08 16:44:45 +08:00
回复了 wdc63 创建的主题 程序员 数据结构求助
@visper 不是一般的业务需求,是数理模型中的一部分,用服务池的概念只是一个举例,反正是必须要随机获取的,每个“服务”的属性都不一样。
2022-10-08 15:48:18 +08:00
回复了 wdc63 创建的主题 程序员 数据结构求助
@cxe2v 我要从未占用的对象中随机获取一个,一个集合在性能上办不到吧。
2022-10-08 15:47:09 +08:00
回复了 wdc63 创建的主题 程序员 数据结构求助
@lmshl 你的意思我懂了,我只需要 lock 被占用对象即可,如果这个对象被分配给另外一个请求者,可以先检查是否被 lock ,如果是就抛弃请求另一个。dict 多线程读取应该是安全的,但是没法获取随机元素。
2022-10-08 15:08:41 +08:00
回复了 wdc63 创建的主题 程序员 数据结构求助
@lmshl 确实没想明白,大佬能不能提示一下。
2022-10-08 15:02:31 +08:00
回复了 wdc63 创建的主题 程序员 数据结构求助
@lmshl 不能提交延迟修改。业务需求大致上是这样的:

数据集里的对象先称为服务,外部对象先称为代理。有上 W 个并行的代理向数据集请求可用的服务,随机提供一个给它,这个服务就被代理占用,然后这个服务就要从数据集移出,移入到正在接受服务的数据池,当服务完成后,服务可用,又从那边移出移入这边的可用服务数据池。如果提交延迟修改,就会发生多个代理被分配到同一个服务的错误。
2022-10-08 14:37:26 +08:00
回复了 wdc63 创建的主题 程序员 由两个整数生成一个独特的整数
@yhvictor 你这个算法鲁棒性不行,0*100000+100000 = 1*100000+0 ,况且不是一定完完全全十万内,绝大部分情况是,有少概率情况数据可能超过。
2022-09-11 20:14:19 +08:00
回复了 wdc63 创建的主题 程序员 由两个整数生成一个独特的整数
@chenzhekl 我用的 LaTero 的算法: ((int64)a << 32)+(int64)b ,实测比康托尔配对函数快一倍,而且康托尔配对函数在 int32 范围内最大支持到 25000 左右。
2022-09-11 16:35:25 +08:00
回复了 wdc63 创建的主题 程序员 由两个整数生成一个独特的整数
@LaTero 确实更快,谢谢
2022-09-11 16:28:14 +08:00
回复了 wdc63 创建的主题 程序员 由两个整数生成一个独特的整数
@LaTero 噢,我理解错了,不好意思。
2022-09-11 16:12:32 +08:00
回复了 wdc63 创建的主题 程序员 由两个整数生成一个独特的整数
@wxf666 存在负数就会出现碰撞。
2022-09-11 16:12:01 +08:00
回复了 wdc63 创建的主题 程序员 由两个整数生成一个独特的整数
@wxf666 是的,那使用 ulong 就行。
2022-09-11 16:06:03 +08:00
回复了 wdc63 创建的主题 程序员 由两个整数生成一个独特的整数
@wdc63 debug 模式
2022-09-11 16:04:21 +08:00
回复了 wdc63 创建的主题 程序员 由两个整数生成一个独特的整数
static int szudzikPair(int x, int y)
{

return (x >= y ? (x * x) + x + y : (y * y) + x);
}

static int szudzikPairSigned(int x, int y)
{

int a = (x >= 0 ? 2 * x : (-2 * x) - 1);
int b = (y >= 0 ? 2 * y : (-2 * y) - 1);
return szudzikPair(a, b) / 2;
}

5800x 单线程 10w 次( x 、y 均为负数)大概 3ms
1  2  3  4  5  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5417 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 21ms · UTC 08:28 · PVG 16:28 · LAX 00:28 · JFK 03:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.