2019-DBMS-Project icon indicating copy to clipboard operation
2019-DBMS-Project copied to clipboard

fptree的期望性能

Open penhison opened this issue 5 years ago • 6 comments

请问fptree的期望性能有多高? 我使用ycsb同样的代码测试leveldb和fptree,发现在load阶段fptree比leveldb慢了一倍,在run阶段两者性能差不多

在我们的实现中,每次修改叶子后都会立即调用LeafNode::persist,我们每次都判断叶子是否是pmem地址,若是则用pmem_persist持久化,如不是则用pmme_msync持久化,其实现代码为:

void LeafNode::persist() {
    if (pmem_is_pmem(this->pmem_addr, calLeafSize())) {
        pmem_persist(this->pmem_addr, calLeafSize());
    } else {
        pmem_msync(this->pmem_addr, calLeafSize());
    }
}

penhison avatar May 18 '19 03:05 penhison

看官方文档,pmem_is_pmem非常费时,最好调用一次后将结果缓存起来

howardlau1999 avatar May 18 '19 05:05 howardlau1999

的确是pmem_is_pmem的问题,将结果提前缓存下来后在220w的测试结果中fptree的load阶段比leveldb快了20%,run阶段fptree比leveldb快3倍

penhison avatar May 18 '19 10:05 penhison

一次修改对应持久化对应修改的位置即可,不用持久化整个叶子

ZhangJiaQiao avatar May 22 '19 11:05 ZhangJiaQiao

叶子节点没有相对应的成员函数,是否可以自己添加必要的成员函数?

penhison avatar May 22 '19 13:05 penhison

不影响测试就行

---原始邮件--- 发件人: "penhison"[email protected] 发送时间: 2019年5月22日(星期三) 晚上9:56 收件人: "ZhangJiaQiao/2019-DBMS-Project"[email protected]; 抄送: "Comment"[email protected];"ZhangJiaQiao"[email protected]; 主题: Re: [ZhangJiaQiao/2019-DBMS-Project] fptree的期望性能 (#26)

叶子节点没有相对应的成员函数,是否可以自己添加必要的成员函数?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

ZhangJiaQiao avatar May 22 '19 14:05 ZhangJiaQiao