Saturday, June 12, 2010

Results for 3n+1 Benchmark version 2 for GT.M

Results for Enhanced 3n+1 Benchmark for GT.M - Work laptop on 20100612

Computing Platform - System 76 laptop

CPU - Intel Core2 Duo T7500 2.20GHz
RAM - 4GB
Disk - Seagate 200GB 7200rpm with SATA interface
OS - Kubuntu 9.10 64-bit Linux kernel 2.6.31-14-generic
File system - jfs

Database - GT.M V5.4-000A 64-bit version

Program

The source code for the program can be downloaded from http://sourceforge.net/projects/fis-gtm/files/Benchmarking/threeen1/threeen1f.tgz

Note that the resolution of time measured and reported by this program is one second.

This program runs in UTF-8 mode.  It stores a database that is logically ^cycle(11)=15 as ^cycle("eins eins") with a value "eins пять".  The actual strings used for each digit are specified in the comments of the source program at label digits.  Encoded strings in UTF-8 demonstrates that the database is not limited to ASCII or an ISO-8859 variant (in fact, the keys and values can be any arbitrary sequence of bytes).

Database Configuration

Block size - 4096 bytes
Global buffers - 5000
Journal buffers - 2000
Type of journaling - before image (for backward recovery)

The journal file and database were on the same disk.  This is not how production systems are configured, but my laptop has only one hard drive.  If the database and journals were on separate disks, performance may be a little better.

Licenses

GT.M is licensed under GNU Affero General Public License version 3.

Results

The benchmark was run three times.  The update rates are colored red and read rates are colored blue.

$ cat threeen1.dat
1 100000 4 5000
1 100000 8 5000
1 1000000 4 5000
1 1000000 8 5000
$ gtm_icu_version=4.2 gtm_chset=UTF-8 LC_CTYPE=en_US.utf8 /usr/lib/fis-gtm/V5.4-000A_x86_64/gtm -run threeen1f <threeen1.dat
1 100,000 4 5,000 350 1,570,824,736 5 217,350 317,350 43,470 63,470
1 100,000 8 5,000 350 1,570,824,736 7 218,379 318,379 31,197 45,483
1 1,000,000 4 5,000 524 56,991,483,520 52 2,169,141 3,169,141 41,714 60,945
1 1,000,000 8 5,000 524 56,991,483,520 46 2,169,919 3,169,919 47,172 68,911
$ gtm_icu_version=4.2 gtm_chset=UTF-8 LC_CTYPE=en_US.utf8 /usr/lib/fis-gtm/V5.4-000A_x86_64/gtm -run threeen1f <threeen1.dat
1 100,000 4 5,000 350 1,570,824,736 4 217,686 317,686 54,422 79,422
1 100,000 8 5,000 350 1,570,824,736 7 218,660 318,660 31,237 45,523
1 1,000,000 4 5,000 524 56,991,483,520 52 2,169,118 3,169,118 41,714 60,945
1 1,000,000 8 5,000 524 56,991,483,520 48 2,170,464 3,170,464 45,218 66,051
$ gtm_icu_version=4.2 gtm_chset=UTF-8 LC_CTYPE=en_US.utf8 /usr/lib/fis-gtm/V5.4-000A_x86_64/gtm -run threeen1f <threeen1.dat
1 100,000 4 5,000 350 1,570,824,736 5 217,823 317,823 43,565 63,565
1 100,000 8 5,000 350 1,570,824,736 7 218,384 318,384 31,198 45,483
1 1,000,000 4 5,000 524 56,991,483,520 54 2,169,256 3,169,256 40,171 58,690
1 1,000,000 8 5,000 524 56,991,483,520 48 2,169,961 3,169,961 45,208 66,041

The database was being operated with journaling for rapid backward recovery (i.e., recovery would not need a backup to be restored).


No comments:

Post a Comment