List 大O列表复杂性8字节vs 16字节
在以下链接中: 如果您向下滚动到他比较排序的部分,他首先会用8字节的数据类型显示结果,比较列表、向量和deque。对于8字节(和128字节)的数据类型,列表比vector和deque慢得多。然而,在排序比较的底部,他使用了一个16字节的数据类型,突然列表速度加快了 对于8字节和128字节,列表怎么会变慢,而对于介于两者之间的值(即16字节),列表怎么会变快List 大O列表复杂性8字节vs 16字节,list,sorting,vector,big-o,deque,List,Sorting,Vector,Big O,Deque,在以下链接中: 如果您向下滚动到他比较排序的部分,他首先会用8字节的数据类型显示结果,比较列表、向量和deque。对于8字节(和128字节)的数据类型,列表比vector和deque慢得多。然而,在排序比较的底部,他使用了一个16字节的数据类型,突然列表速度加快了 对于8字节和128字节,列表怎么会变慢,而对于介于两者之间的值(即16字节),列表怎么会变快 编辑:我在随机插入部分注意到了相同的模式。对于8字节和32字节的数据类型,List比vector和deque慢,但对于16字节的数据类型,
编辑:我在随机插入部分注意到了相同的模式。对于8字节和32字节的数据类型,List比vector和deque慢,但对于16字节的数据类型,List要快得多 注意,16字节数据类型不是“普通的16字节数据类型”,它声明: 非平凡数据类型由两个long组成,具有非常愚蠢的特性 赋值运算符和复制构造函数,它们只是做一些数学运算 (毫无意义但代价高昂)。有人可能会说,这不是一个普遍现象 复制构造函数既不是公共赋值运算符,也不是公共赋值运算符 对,但是,重要的一点是,它是昂贵的 这对于这个基准来说已经足够了
因此,这与16字节是一个使列表变慢的神奇数字无关,而是关于非平凡类型上的运算符重载使列表变慢。抱歉,我太专注于所有我完全忽略的内容(我已经读过)