Essays/JKT Benchmark
< Essays
Jump to navigation
Jump to search
The JKT benchmark is the time to generate and invert a 50 by 50 matrix of random integers between 0 and 1000. In J, that would be the result of 6!:2 '%.?50 50$1000' . Most of the following numbers come from an e-mail from Eugene McDonnell to Roger Hui, cc David Steinbrook, Joey Tuttle, and Ken Iverson on 1990-07-16.
System Seconds IBM PC, 8088, 4.77 MHz, MS/DOS, no math chip 2801.21 IBM XT, 8088, 4.77 MHz, MS/DOS 1680 Apple Macintosh Plus, 68000, 7.8336 MHz, MacOS, no math chip 1207.08 Atari ST, 68000, Mac Simulator, no math chip 935.1 Packard-Bell PC/AT, MS/DOS, no math chip 525.495 QSP Super Micro 286AT, 8 MHz MS/DOS, no math chip 521.099 AT&T 3B1, 68010, 10MHz, UNIX, no math chip 442.332 IBM PS/2 55, 386 SX, 20 MHz, MS/DOS, no math chip 341.044 IBM PS/2 70, 386, 25 MHz, MS/DOS 230.879 Apple Macintosh IIx, 68030, 16.67 MHz, MacOS 227.25 Apple Macintosh SE/30, 68030, 16.67 MHz, MacOS 201.55 Sun 3/60, 68020, 16.67 MHz, UNIX 162.027 Philips P9070, 68020, 16.67 MHz, UNIX 158 Apple Macintosh IIci, 68030, 25 MHz, MacOS 152.35 Sun 386i/250, 25 MHz, DOS window PC/AT emulator 111.758 Apple Macintosh IIfx, 68030, 40 MHz, MacOS 76.83 Sun 386i/250, 25 MHz, UNIX 73.947 Sun Sparcstation 1+ (Sun 4/65), UNIX 28.0322 IBM RS/6000/320, 20 MHz, AIX 20.36 Mips R3240, Mips R3000, 25 MHz, UNIX 12.05 added in 2012 Apple iPhone 3GS 0.037303 Apple iPhone 4 0.026273 Apple iPad 0.009606 Amazon EC2 instance (m2.2xlarge) 0.001916 Apple Macintosh iMi7 0.00101715 added in 2013 Kindle Fire HD 7" 0.0141098 Raspberry PI 0.0287843 Trenton Systems Intel Xeon E311225 3.1GHZ (Quad Core) 0.0008023 Mini MK802 0.0308065 Mini MK808 (Dual Core) 0.0317240 Surface Pro 0.0012768 Motorola DROID RAZR M 0.0230487 added in 2014 Intel i-7 3520M 2.9GHZ (Quad Core) 0.000723671 Google Nexus 10 0.005293831 Samsung Galaxy S4 0.00833136 Apple iPad v4 0.004887 Google Chromebook CR-48 1.6 GHz Atom 0.00780248 Motorola Droid 3 0.01746150 Asus T-100 1.33 GHz Intel Atom 0.003088 Kindle Fire v1 0.0169942 Digital Ocean VPS 1 core small droplet 0.00181026 added in 2015 Amd a8-5500 3.2gz 0.00109824 Intel x86-32 atom z3735F 1.33ghz (windows 8.1) 0.008 Intel x86-32 atom z3735F 1.33ghz (jandroid kitkat 4.4) 0.004759 Kindle Touch 0.0313126 added in 2020 Intel Core i7-6500U 2.50GHz (Win10) 0.0001567 Intel Core i7-9700K 3.60GHz (Win10) 0.0001183 Arm V7 652MHz (Android 8.1.0) 0.003595 Apple A9 (iOS 13.3.1) 0.001791 Apple Cyclone (iOS 12.4.2) 0.003937 Arm Cortex A7 1.3 GHz (Fire OS 5.3.6.4) 0.004825 Intel Core i7 950 3.07GHz (Win10) 0.0002807 added in 2021 Intel Core i5 M 520 2.40GHz (Win7) 0.000215165 Intel Core i9-10900F 2.80GHz (Win10) 5.60851e_5
Matrix inverse (%.) as a benchmark in J is revealing because it is implemented as described in the QR Decomposition essay. The method was chosen not because it is particularly efficient or good numerically but because it is algorithmically interesting; it does allow %. to immediately benefit from improvements to matrix multiplication, memory allocation, and other primitives used in QR.