4893a5422e
Port of Robin's work from I0a53aa4581e25b351b9cb5033415b5163d05fe71 on top of the new qHash patches (the original commit just introduced lots of conflicts, so I redid it from scratch). This is based on the work done in the QHash benchmark over the past few months experimenting with the performance of the string hashing algorithm used by Java. The Java algorithm, in turn, appears to have been based off a variant of djb's work at http://cr.yp.to/cdb/cdb.txt. This commit provides a performance boost of ~12-33% on the QHash benchmark. Unfortunately, the rcc test depends on QHash ordering. Randomizing QHash or changing qHash will cause the test to fail (see QTBUG-25078), so for now the testdata is changed as well. Done-with: Robin Burchell Change-Id: Ie05d8e21588d1b2d4bd555ef254e1eb101864b75 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
127 lines
4.8 KiB
Plaintext
127 lines
4.8 KiB
Plaintext
/****************************************************************************
|
|
** Resource object code
|
|
**
|
|
IGNORE: ** Created: Sun Apr 1 21:20:28 2012
|
|
IGNORE: ** by: The Resource Compiler for Qt version 5.0.0
|
|
**
|
|
** WARNING! All changes made in this file will be lost!
|
|
*****************************************************************************/
|
|
|
|
#include <QtCore/qglobal.h>
|
|
|
|
static const unsigned char qt_resource_data[] = {
|
|
IGNORE: // /dev/qt5/qtbase/tests/auto/tools/rcc/data/images/images/circle.png
|
|
0x0,0x0,0x0,0xa5,
|
|
0x89,
|
|
0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,
|
|
0x0,0x0,0x20,0x0,0x0,0x0,0x20,0x8,0x6,0x0,0x0,0x0,0x73,0x7a,0x7a,0xf4,
|
|
0x0,0x0,0x0,0x6c,0x49,0x44,0x41,0x54,0x58,0xc3,0xed,0xd7,0x5b,0xe,0x0,0x10,
|
|
0xc,0x44,0x51,0xcb,0xb4,0x44,0xbb,0x64,0x3,0x1e,0xd5,0x18,0x1d,0x31,0x12,0xdf,
|
|
0xf7,0x7c,0xd1,0xa6,0xf4,0xe8,0xa9,0x93,0x8b,0x8f,0xe6,0x52,0x87,0x17,0x81,0x59,
|
|
0x46,0xd,0x18,0x7f,0xdc,0x13,0x1e,0x40,0x62,0xe2,0x5e,0xc4,0xd1,0xf8,0x2e,0x2,
|
|
0x12,0xb7,0x22,0xa0,0x71,0xb,0x22,0x14,0x70,0x25,0x3e,0x43,0xfc,0xd,0xb8,0x1a,
|
|
0xef,0x21,0x4,0x10,0x40,0x0,0x3d,0x44,0x14,0x0,0x7d,0xc7,0x14,0x13,0x11,0xc5,
|
|
0x4c,0x48,0x31,0x15,0x53,0xec,0x5,0x14,0x9b,0x11,0xc5,0x6e,0x8,0xdd,0x8e,0x1b,
|
|
0x14,0x54,0x19,0xf3,0xa1,0x23,0xdb,0xd5,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,
|
|
0xae,0x42,0x60,0x82,
|
|
IGNORE: // /dev/qt5/qtbase/tests/auto/tools/rcc/data/images/images/square.png
|
|
0x0,0x0,0x0,0x5e,
|
|
0x89,
|
|
0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,
|
|
0x0,0x0,0x20,0x0,0x0,0x0,0x20,0x1,0x3,0x0,0x0,0x0,0x49,0xb4,0xe8,0xb7,
|
|
0x0,0x0,0x0,0x6,0x50,0x4c,0x54,0x45,0x0,0x0,0x0,0x58,0xa8,0xff,0x8c,0x14,
|
|
0x1f,0xab,0x0,0x0,0x0,0x13,0x49,0x44,0x41,0x54,0x8,0xd7,0x63,0x60,0x0,0x81,
|
|
0xfa,0xff,0xff,0xff,0xd,0x3e,0x2,0x4,0x0,0x8d,0x4d,0x68,0x6b,0xcf,0xb8,0x8e,
|
|
0x86,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82,
|
|
IGNORE: // /dev/qt5/qtbase/tests/auto/tools/rcc/data/images/images/subdir/triangle.png
|
|
0x0,0x0,0x0,0xaa,
|
|
0x89,
|
|
0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,
|
|
0x0,0x0,0x20,0x0,0x0,0x0,0x20,0x8,0x6,0x0,0x0,0x0,0x73,0x7a,0x7a,0xf4,
|
|
0x0,0x0,0x0,0x71,0x49,0x44,0x41,0x54,0x58,0xc3,0xed,0xce,0x4b,0xa,0x80,0x30,
|
|
0x10,0x4,0xd1,0x1c,0xd3,0x23,0x7a,0xcb,0x11,0x82,0xb8,0x50,0x62,0x92,0xf9,0xd5,
|
|
0x66,0x1a,0x7a,0x5d,0xaf,0xb5,0x5a,0xcd,0x36,0xb9,0xcf,0xc4,0x8f,0x53,0xfa,0x9,
|
|
0xc4,0x13,0xa7,0x10,0x28,0xe0,0x13,0xcf,0x44,0xc,0xe3,0x59,0x8,0x14,0x30,0x8d,
|
|
0x47,0x23,0x50,0xc0,0x72,0x3c,0x2,0xb1,0x1d,0xf7,0x46,0xa0,0x0,0x75,0xdc,0x3,
|
|
0x61,0x8e,0x5b,0x11,0x28,0xc0,0x2d,0xae,0x45,0xa0,0x0,0xf7,0xf8,0xe,0x22,0x2c,
|
|
0xbe,0x8a,0x40,0x1,0xe1,0xf1,0x3f,0x44,0x5a,0x7c,0x84,0x40,0x1,0xe9,0xf1,0x37,
|
|
0x42,0xe0,0xd7,0xd8,0x5d,0xf,0x6f,0x97,0x11,0x88,0x38,0xa9,0x1e,0x0,0x0,0x0,
|
|
0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82,
|
|
|
|
};
|
|
|
|
static const unsigned char qt_resource_name[] = {
|
|
// images
|
|
0x0,0x6,
|
|
0x7,0x3,0x7d,0xc3,
|
|
0x0,0x69,
|
|
0x0,0x6d,0x0,0x61,0x0,0x67,0x0,0x65,0x0,0x73,
|
|
// subdir
|
|
0x0,0x6,
|
|
0x7,0xab,0x8b,0x2,
|
|
0x0,0x73,
|
|
0x0,0x75,0x0,0x62,0x0,0x64,0x0,0x69,0x0,0x72,
|
|
// circle.png
|
|
0x0,0xa,
|
|
0xa,0x2d,0x16,0x47,
|
|
0x0,0x63,
|
|
0x0,0x69,0x0,0x72,0x0,0x63,0x0,0x6c,0x0,0x65,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,
|
|
// square.png
|
|
0x0,0xa,
|
|
0x8,0x8b,0x6,0x27,
|
|
0x0,0x73,
|
|
0x0,0x71,0x0,0x75,0x0,0x61,0x0,0x72,0x0,0x65,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,
|
|
// triangle.png
|
|
0x0,0xc,
|
|
0x5,0x59,0xa7,0xc7,
|
|
0x0,0x74,
|
|
0x0,0x72,0x0,0x69,0x0,0x61,0x0,0x6e,0x0,0x67,0x0,0x6c,0x0,0x65,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,
|
|
|
|
};
|
|
|
|
static const unsigned char qt_resource_struct[] = {
|
|
// :
|
|
0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1,
|
|
// :/images
|
|
0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x2,
|
|
// :/images/subdir
|
|
0x0,0x0,0x0,0x12,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x5,
|
|
// :/images/square.png
|
|
0x0,0x0,0x0,0x3e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0xa9,
|
|
// :/images/circle.png
|
|
0x0,0x0,0x0,0x24,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,
|
|
// :/images/subdir/triangle.png
|
|
0x0,0x0,0x0,0x58,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1,0xb,
|
|
|
|
};
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
|
|
extern Q_CORE_EXPORT bool qRegisterResourceData
|
|
(int, const unsigned char *, const unsigned char *, const unsigned char *);
|
|
|
|
extern Q_CORE_EXPORT bool qUnregisterResourceData
|
|
(int, const unsigned char *, const unsigned char *, const unsigned char *);
|
|
|
|
QT_END_NAMESPACE
|
|
|
|
|
|
int QT_MANGLE_NAMESPACE(qInitResources)()
|
|
{
|
|
QT_PREPEND_NAMESPACE(qRegisterResourceData)
|
|
(0x01, qt_resource_struct, qt_resource_name, qt_resource_data);
|
|
return 1;
|
|
}
|
|
|
|
Q_CONSTRUCTOR_FUNCTION(QT_MANGLE_NAMESPACE(qInitResources))
|
|
|
|
int QT_MANGLE_NAMESPACE(qCleanupResources)()
|
|
{
|
|
QT_PREPEND_NAMESPACE(qUnregisterResourceData)
|
|
(0x01, qt_resource_struct, qt_resource_name, qt_resource_data);
|
|
return 1;
|
|
}
|
|
|
|
Q_DESTRUCTOR_FUNCTION(QT_MANGLE_NAMESPACE(qCleanupResources))
|
|
|