找回密码
 点一下
楼主: 血戮魔动冰

创建连续的任意长度的handle、自己在GA的一岁生日

[复制链接]
 楼主| 发表于 2009-5-31 15:51:39 | 显示全部楼层
哇呜哇唔~mi na sa n很积极嘛~~
嘻嘻~研究过程不发上来的话,如果胎死腹中,那不就恶心了吗?
就算是留给后人吧~
至少要说明,达到存储数据的方法,还是有很多呢~~
回复

使用道具 举报

发表于 2009-6-3 09:21:33 | 显示全部楼层
不过效率还是个大问题……
回复

使用道具 举报

 楼主| 发表于 2009-6-3 13:01:08 | 显示全部楼层
那是~~无效率的方法只会在历史的洪流中消失~~
回复

使用道具 举报

发表于 2009-6-3 15:16:18 | 显示全部楼层
就像我们的帖子……
回复

使用道具 举报

发表于 2009-6-5 12:09:39 | 显示全部楼层
很早以前就說過了

有空研究這種東西,還不如去強化HASH版的DataSystem
回复

使用道具 举报

发表于 2009-6-5 12:12:26 | 显示全部楼层
不一定啊
GC盛行时候不是也有人研究HASH
而且在找到好的算法之前HASH效率也不咋地
回复

使用道具 举报

发表于 2009-6-7 11:45:32 | 显示全部楼层
引用第24楼weberkx3于2009-06-05 12:09发表的  :
很早以前就說過了

有空研究這種東西,還不如去強化HASH版的DataSystem
讨厌HASH版的DataSystem

走自己的好玩……
回复

使用道具 举报

发表于 2009-6-8 12:01:00 | 显示全部楼层
效率不仅比所谓DataSystem要快许多

真的?

(突然发现LZ变路人了)
回复

使用道具 举报

发表于 2013-6-17 00:27:01 | 显示全部楼层
虽然是挖坟,而且想说的内容和帖子本身在1.24hashtable出现后已经无意义
算是记录下突然的想法吧。

这个系统的前提条件是创建任意个连续handle的handle型变量
问题是因为handle的index(handle值)本身会在引用数清零后释放
当新handle创建时,优先使用释放的index,当没有释放index时,采用新的最小未用index

在这种情况下,动态保证handle连续是一件痛苦的事情
因为很多的handle创建过程是内部的
所以就像我当年所说
除非找到bug否则无解

不过今天恰好想到一个方案

首先是,我们没必要知道或者保证释放index为0个
当然这是保证之后创建的handle的index连续的充分条件

此外,在无等待的条件下,handle的创建次序不会被其他函数插入
这样,如果没有释放index的前提下,新建的index必然是连续。
记得应该是即使你释放的这个handle,这个index也是不能在下次释放时使用(*这里不确定需要测试)

那么,这样就有越来越没效率的做法
直接创建并验证handle连续的变量,当发现连续失败时,重头开始创建过程
如果同一函数下创建的handle的index在当前函数无等待的语句后被摧毁,并且此index不会在当前函数无等待的语句创建handle变量时使用(上面*测试成功)
重新开始创建过程前释放handle
否则记录最终一并释放

这种方法应该会随着时间效率越来越低
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-23 18:09 , Processed in 0.041500 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表