4 ms·
> I don't think this could be interpreted as a visual lag. fsync() is usually used by databases, not UI libraries. As others have pointed out, a lot of apps do
by daenney 10y ago
> I don't think this could be interpreted as a visual lag. fsync() is usually used by databases, not UI libraries.
As others have pointed out, a lot of apps do I/O related work in the UI thread, mostly b/c people don't care enough not to (and sometimes it's hard). Flipping a toggle somewhere can easily cause a write to a sqlite database to need to happen.
And it's for far more than just databases.
> So the title is misleading.
I don't think the title is that misleading, it is very much and significantly faster at storage operations than the Pixel, and those matter quite a bit in your daily usage.
- kllrnohj 10y ago> I don't think the title is that misleading, it is very much and significantly faster at storage operations than the Pixel, and those matter quite a bit in your daily usage. All that was tested was fsync(), not "storage operations", and the Moto Z was faster at fsync() because it turns off fsync. But it's not clear why this matters to anything. Lag is usually the result of file system reads being slow (paging in code/resources), not writes being slow, so how does fsync performance matter?
- daenney 10y ago> All that was tested was fsync(), not "storage operations", and the Moto Z was faster at fsync() because it turns off fsync. That's not what was tested, that's only what is shown in the graph. The lack of fsync contributes to it. I wrote a little fio benchmark driver to fill all available device storage with random 4k writes, print perf stats along the way One of the other things clearly mentioned is that b/c of Google's use of an additional FUSE filesystem they take a 30% performance hit: This means that on the Pixel every user IO gets a round-trip back into user-space before hitting the NAND. Fuse burns more CPU and slows down IO by up to 30%. Sure, the nobarrier trick makes a lot of difference but it's not the only thing in that post, nor was that the actual benchmark.
- kllrnohj 10y agoOk maybe the author tested other things but he didn't REPORT on anything but fsync results. There's no comparison at all of file system performance other than fsync() numbers. > One of the other things clearly mentioned is that b/c of Google's use of an additional FUSE filesystem they take a 30% performance hit Only on one mount point which isn't used for anything lag-related. There's no code on that mount point. There's nothing UI-critical on that mount point. It means your photos might load a bit quicker, but again given that there was no actual numbers or objective information we don't actually know how the two compared. Good job to Motorola to handle that in the kernel, but it contributes nothing to the spectacular claim that the Pixel has 10x more lag than the Moto Z. But given this claim: "They got Moto-Z to performing close to high-end laptop SSDs." I think it's pretty obvious the author only actually looked at fsync(). Unless somehow the Moto-Z is ~5x faster than the storage in an iPhone 7 (which is the gap between an iPhone 7's storage and a high-end laptop SSD), it's obvious bullshit.
- strcat 10y agoGoogle uses FUSE for shared storage, not internal app storage. Apps are supposed to keep most of their data in internal storage since shared storage breaks the whole isolated security model. Content providers and other intents are supposed to be preferred for sharing data. It might a good thing that doing things properly is faster... and throwing everything into the kernel means more and more attack surface. Google maintain the kernel implementation (sdcardfs) too... they choose to use the FUSE implementation for good reasons. Of course, most other vendors only care about benchmarks, not things like robustness / security.