Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-28252

Slow I/O on QNX with a buffered output to a filesystem

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 4.8.x
    • 4.8.4, 5.0.0 Beta 2
    • Core: I/O
    • BlackBerry 10 10.0.9 beta3

    Description

      I noticed a very poor performance of http downloads in my application. During my investigations I found that disabling I/O buffering fixes this problem.

      Internally Qt uses fopen() for buffered I/O and open() for unbuffered (see openModeToFopenMode() in qfsfileengine_unix.cpp). BlackBerry/QNX documentation [1] suggests to prevent usage of fopen() for file I/O because of FS buffering.

      I have attached a small test application for BlackBerry 10. Everyone can see a difference between buffered and unbuffered I/O by a simple change of QFile::open() parameters in downloadmanager.cpp:27.

      [1] http://developer.blackberry.com/native/documentation/com.qnx.doc.neutrino.user_guide/topic/fine_tuning_filesystems.html

      Attachments

        1. BB10NetworkTest.7z
          3 kB
          Oleg Shparber
        2. BB10NetworkTestQt4.7z
          3 kB
          Oleg Shparber
        For Gerrit Dashboard: QTBUG-28252
        # Subject Branch Project Status CR V

        Activity

          People

            rafaelroquetto Rafael Roquetto
            trollixx Oleg Shparber
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes