Qt Object Sizes

From Freehackers
Revision as of 00:54, 26 July 2007 by Orzel (talk | contribs) (New page: I sometimes wonder about object sizes in Qt. Here are some statistics. I've also given the sizeof some basic types (int,double..). == AMD 64 == Using gcc 4.1.2 on a gentoo system ...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

I sometimes wonder about object sizes in Qt. Here are some statistics. I've also given the sizeof some basic types (int,double..).

AMD 64

Using gcc 4.1.2 on a gentoo system

                    char : 1
                     int : 4
                   float : 4
                  void * : 8
               short int : 2
                long int : 8
           long long int : 8
                  double : 8
             long double : 16
                unsigned : 4
          unsigned short : 2
                  size_t : 8
                  time_t : 8


Sizes for QT 3.3.8

                       QAccel : 88
                      QAction : 88
                 QActionGroup : 96
                 QApplication : 136
                   QBig5Codec : 8
              QBig5hkscsCodec : 8
                    QBitArray : 16
                      QBitmap : 48
                      QBitVal : 16
                   QBoxLayout : 152
                       QBrush : 8
                      QBuffer : 48
                      QButton : 232
                 QButtonGroup : 328
                   QByteArray : 16
                  QCache<int> : 48
              QCache<QString> : 48
                      QCanvas : 264
               QCanvasEllipse : 96
                  QCanvasItem : 56
              QCanvasItemList : 8
                  QCanvasLine : 96
                QCanvasPixmap : 64
           QCanvasPixmapArray : 16
               QCanvasPolygon : 96
         QCanvasPolygonalItem : 80
             QCanvasRectangle : 88
                QCanvasSpline : 120
                QCanvasSprite : 72
                  QCanvasText : 112
                  QCanvasView : 264
                    QCDEStyle : 96
                        QChar : 2
                     QCharRef : 16
                    QCheckBox : 232
               QCheckListItem : 88
              QCheckTableItem : 112
                  QChildEvent : 24
                   QClipboard : 80
                  QCloseEvent : 16
                       QColor : 8
                 QColorDialog : 224
                   QColorDrag : 136
                  QColorGroup : 16
                    QComboBox : 208
              QComboTableItem : 120
                 QCommonStyle : 88
                 QConstString : 8
            QContextMenuEvent : 40
                     QCString : 16
                      QCursor : 8
                 QCustomEvent : 24
              QCustomMenuItem : 8
                 QDataBrowser : 208
                  QDataStream : 32
                   QDataTable : 608
                    QDataView : 208
                        QDate : 4
                    QDateEdit : 208
                    QDateTime : 8
                QDateTimeEdit : 224
            QDateTimeEditBase : 200
               QDesktopWidget : 208
                        QDial : 248
                      QDialog : 216
                   QDict<int> : 48
               QDict<QString> : 48
                         QDir : 56
                         QDns : 112
                    QDockArea : 296
                  QDockWindow : 448
                     QDomAttr : 16
             QDomCDATASection : 16
            QDomCharacterData : 16
                  QDomComment : 16
                 QDomDocument : 16
         QDomDocumentFragment : 16
             QDomDocumentType : 16
                  QDomElement : 16
                   QDomEntity : 16
          QDomEntityReference : 16
           QDomImplementation : 16
             QDomNamedNodeMap : 8
                     QDomNode : 16
                 QDomNodeList : 16
                 QDomNotation : 16
    QDomProcessingInstruction : 16
                     QDomText : 16
             QDoubleValidator : 104
              QDragEnterEvent : 88
              QDragLeaveEvent : 16
               QDragMoveEvent : 88
                  QDragObject : 120
                   QDropEvent : 72
                QErrorMessage : 264
                  QEucJpCodec : 16
                  QEucKrCodec : 8
                       QEvent : 16
                   QEventLoop : 88
                        QFile : 88
                  QFileDialog : 320
            QFileIconProvider : 80
                    QFileInfo : 24
                 QFilePreview : 8
                   QFocusData : 72
                  QFocusEvent : 16
                        QFont : 8
                QFontDatabase : 8
                  QFontDialog : 224
                    QFontInfo : 24
                 QFontMetrics : 24
                       QFrame : 240
                         QFtp : 136
                QGb18030Codec : 8
                 QGb2312Codec : 8
                    QGbkCodec : 8
                  QGLColormap : 8
                        QGrid : 248
                  QGridLayout : 144
                    QGridView : 272
                    QGroupBox : 320
         QGuardedPtr<QString> : 8
                        QHBox : 248
                  QHBoxLayout : 152
                QHButtonGroup : 328
                      QHeader : 248
                 QHebrewCodec : 8
                   QHGroupBox : 320
                   QHideEvent : 16
                 QHostAddress : 16
                        QHttp : 112
                  QHttpHeader : 24
           QHttpRequestHeader : 48
          QHttpResponseHeader : 40
                    QIconDrag : 136
               QIconDragEvent : 16
                QIconDragItem : 24
                     QIconSet : 16
                    QIconView : 256
                QIconViewItem : 160
                       QImage : 8
               QImageConsumer : 8
                QImageDecoder : 32
                   QImageDrag : 200
                 QImageFormat : 8
           QImageFormatPlugin : 96
             QImageFormatType : 8
                     QImageIO : 72
                     QIMEvent : 32
                 QInputDialog : 224
                QIntValidator : 88
                    QIODevice : 24
                    QJisCodec : 16
                    QKeyEvent : 32
                 QKeySequence : 8
                       QLabel : 320
                      QLayout : 136
                  QLayoutItem : 16
                   QLCDNumber : 296
                     QLibrary : 32
                    QLineEdit : 248
                     QListBox : 256
                 QListBoxItem : 56
               QListBoxPixmap : 104
                 QListBoxText : 56
                    QListView : 256
                QListViewItem : 72
                     QLocalFs : 144
                  QMainWindow : 208
               QMemArray<int> : 16
           QMemArray<QString> : 16
                     QMenuBar : 312
                    QMenuData : 48
                  QMessageBox : 248
                  QMetaObject : 96
                QMetaProperty : 48
                  QMimeSource : 32
              QMotifPlusStyle : 96
                  QMotifStyle : 96
                  QMouseEvent : 40
                   QMoveEvent : 32
                       QMovie : 8
                       QMutex : 16
                 QMutexLocker : 8
            QNetworkOperation : 88
             QNetworkProtocol : 88
                      QObject : 80
        QObjectCleanupHandler : 88
                  QObjectList : 56
                 QPaintDevice : 40
          QPaintDeviceMetrics : 8
                     QPainter : 392
                  QPaintEvent : 48
                     QPalette : 8
                         QPen : 8
                     QPicture : 48
                      QPixmap : 48
                 QPixmapCache : 1
               QPlatinumStyle : 96
              QPNGImagePacker : 56
                       QPoint : 8
                  QPointArray : 16
                   QPopupMenu : 328
                     QPrinter : 160
                     QProcess : 168
                 QProgressBar : 280
              QProgressDialog : 232
               QPtrCollection : 16
                QPtrDict<int> : 48
            QPtrDict<QString> : 48
                QPtrList<int> : 56
            QPtrList<QString> : 56
               QPtrQueue<int> : 56
           QPtrQueue<QString> : 56
               QPtrStack<int> : 56
           QPtrStack<QString> : 56
              QPtrVector<int> : 32
          QPtrVector<QString> : 32
                  QPushButton : 248
                 QRadioButton : 232
                QRangeControl : 40
                        QRect : 16
                      QRegExp : 16
             QRegExpValidator : 96
                      QRegion : 8
                 QResizeEvent : 32
                   QScrollBar : 280
                  QScrollView : 248
                   QSemaphore : 16
                QServerSocket : 88
              QSessionManager : 88
                    QSettings : 8
                    QSGIStyle : 112
                   QShowEvent : 16
                      QSignal : 88
                QSignalMapper : 88
              QSimpleRichText : 8
                        QSize : 8
                    QSizeGrip : 232
                  QSizePolicy : 4
                   QSjisCodec : 16
                      QSlider : 296
                      QSocket : 112
                QSocketDevice : 96
              QSocketNotifier : 96
                       QSound : 88
                  QSpacerItem : 40
                     QSpinBox : 296
                QSplashScreen : 208
                    QSplitter : 256
                         QSql : 1
                   QSqlCursor : 40
                 QSqlDatabase : 88
                   QSqlDriver : 120
             QSqlDriverPlugin : 96
                    QSqlError : 32
                    QSqlField : 40
                QSqlFieldInfo : 16
                     QSqlForm : 88
                    QSqlIndex : 40
              QSqlPropertyMap : 16
                    QSqlQuery : 16
                   QSqlRecord : 16
               QSqlRecordInfo : 8
                   QSqlResult : 24
             QSqlSelectCursor : 48
                   QStatusBar : 208
                  QStoredDrag : 128
                    QStrIList : 64
                      QString : 8
                  QStringList : 8
                     QStrList : 64
                       QStyle : 88
                 QStyleOption : 104
                 QStylePlugin : 96
                  QStyleSheet : 136
              QStyleSheetItem : 8
           QSyntaxHighlighter : 32
                         QTab : 56
                      QTabBar : 224
                   QTabDialog : 224
                       QTable : 600
                   QTableItem : 96
              QTableSelection : 28
                 QTabletEvent : 64
                   QTabWidget : 208
                 QTextBrowser : 480
                   QTextCodec : 8
             QTextCodecPlugin : 96
                 QTextDecoder : 8
                    QTextDrag : 128
                    QTextEdit : 472
                 QTextEncoder : 8
                 QTextIStream : 72
                 QTextOStream : 72
                  QTextStream : 72
                      QThread : 16
                        QTime : 4
                    QTimeEdit : 208
                       QTimer : 88
                  QTimerEvent : 24
                     QToolBar : 480
                     QToolBox : 248
                  QToolButton : 376
                     QToolTip : 24
                QToolTipGroup : 88
                  QTranslator : 88
           QTranslatorMessage : 64
                  QTsciiCodec : 8
                     QUriDrag : 128
                         QUrl : 16
                     QUrlInfo : 16
                 QUrlOperator : 104
                        QUuid : 16
                   QValidator : 80
              QValueList<int> : 8
          QValueList<QString> : 8
             QValueStack<int> : 8
         QValueStack<QString> : 8
            QValueVector<int> : 8
        QValueVector<QString> : 8
                     QVariant : 8
                        QVBox : 248
                  QVBoxLayout : 152
                QVButtonGroup : 328
                   QVGroupBox : 320
               QWaitCondition : 16
                   QWhatsThis : 8
                  QWheelEvent : 48
                      QWidget : 200
                  QWidgetItem : 24
                QWidgetPlugin : 96
                 QWidgetStack : 280
                QWindowsStyle : 96
                      QWizard : 224
                     QWMatrix : 48
                   QWorkspace : 216
               QXmlAttributes : 48
           QXmlContentHandler : 8
              QXmlDeclHandler : 8
           QXmlDefaultHandler : 56
               QXmlDTDHandler : 8
           QXmlEntityResolver : 8
             QXmlErrorHandler : 8
              QXmlInputSource : 72
           QXmlLexicalHandler : 8
                  QXmlLocator : 8
         QXmlNamespaceSupport : 8
           QXmlParseException : 40
                   QXmlReader : 8
             QXmlSimpleReader : 1664