Old Laptop

Intel Core 2 Duo T9300 testing with a LENOVO 6459CTO and NV86 128MB on Ubuntu 17.10 via the Phoronix Test Suite.

HTML result view exported from: https://openbenchmarking.org/result/1801105-FO-1801090FO92&grt&sro.

ProcessorMotherboardChipsetMemoryDiskGraphicsAudioNetworkOSKernelDesktopDisplay ServerOpenGLCompilerFile-SystemScreen ResolutionDisplay DriverThinkPad W510ThinkPad T61 Linux 4.14 KPTI + Retpoline Linux 4.14 KPTI + RetpolineIntel Core i7 720Q @ 1.60GHz (4 Cores / 8 Threads)LENOVO 4318CTOIntel Core DMI4096MB160GB FUJITSU MHZ2160BNVA5 1024MBConexant CX20585Intel 82577LM Gigabit Connection + Intel Centrino Ultimate-N 6300Ubuntu 17.104.14.0-041400-generic (x86_64)GNOME Shell 3.26.1Wayland3.3 Mesa 17.2.2GCC 7.2.0ext41600x9004.14.0-phx-retpoline-gcc-retpo (x86_64)Intel Core 2 Duo T9300 @ 2.50GHz (2 Cores)LENOVO 6459CTOIntel Mobile PM965/GM965/GL960 + ICH8M-E100GB Hitachi HTS72201NVIDIA Quadro NVS 140M 128MBAnalog Devices AD1984Intel 82566MM Gigabit Connection + Intel PRO/Wireless4.14.0-041400-generic (x86_64)GNOME Shell 3.26.2nouveau 1.0.151680x1050NV86 128MB4.14.0-phx-retpoline-gcc-retpo (x86_64)modesetting 1.19.53.3 Mesa 17.2.2GCC 7.2.0OpenBenchmarking.orgEnvironment Details- GJS_DEBUG_TOPICS=JS ERROR;JS LOG GJS_DEBUG_OUTPUT=stderrCompiler Details- --build=x86_64-linux-gnu --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-multilib-list=m32,m64,mx32 --with-target-system-zlib --with-tune=generic --without-cuda-driver -v Disk Details- CFQ / data=ordered,errors=remount-ro,relatime,rwProcessor Details- Scaling Governor: acpi-cpufreq ondemandSystem Details- Python 2.7.14.

apache: Static Web Page Servingcompilebench: Compilecompilebench: Initial Createdarktable: Boat - CPU-onlydarktable: Masskrug - CPU-onlydarktable: Server Room - CPU-onlyencode-flac: WAV To FLACfio: Rand Write - Libaio - No - Yes - 4KB - Default Test Directoryfio: Seq Write - Libaio - No - Yes - 4KB - Default Test Directoryfio: Rand Write - Libaio - No - Yes - 4KB - Default Test Directoryfs-mark: 1000 Files, 1MB Sizefs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizegimp: resizegimp: auto-levelsgimp: unsharp-maskgo-benchmark: httpgo-benchmark: jsongo-benchmark: buildgo-benchmark: garbagegraphics-magick: Sharpengraphics-magick: Resizingphpbench: PHP Benchmark Suitepgbench: Buffer Test - Normal Load - Read Writeredis: LPUSHredis: GETredis: SETsqlite: Default Test Directorystress-ng: Cryptostress-ng: Semaphoresstress-ng: Memory Copyingstress-ng: Socket Activitystress-ng: Context Switchingstress-ng: System V Message Passingsystemd-boot-total: Totalsystemd-boot-total: Kernelsystemd-boot-total: Userspacebuild-apache: Time To Compilebuild-linux-kernel: Time To CompileThinkPad W510ThinkPad T61 Linux 4.14 KPTI + Retpoline Linux 4.14 KPTI + Retpoline10611.3842.0862.1759.8132.0927.2312.461.0943.2017.2016.788.5613.3326.9226487471999722836454860385569816396243440338.81952845.391303046.831009039.19488.35240.873239415.54509.151493.17847639.343988434.844821056204258063.93413.198970.4742.2858.0660.0532.6527.4312.641.0842.7617.2016.7810.7216.0831.9228366472649072897597292285782766394241961337.26791426.521111278.21857991.64538.64240.752589374.22507.411057.14592191.891525006.604819058004238066.84427.197331.4847.3853.45238.80233.43221.5021.0134.7421016.5015.309.4415.1530.43791397463005332195224912157781145177225862321.97174076.98193811.62165079.92447.25197.334494717.84217.66954.02505190.481429892.9647510676040750101.08751.356254.0647.5549.72241.42236.65224.1121.1034.5321216.3715.1511.1017.1935.201056147475381434024344510161359855076216549319.61108367.62129535.48107773.49445.48196.096034344.68215.66607.44340906.57764023.4655490704048450105.70779.00OpenBenchmarking.org

Apache Benchmark

Static Web Page Serving

ThinkPad T61ThinkPad W510OpenBenchmarking.orgRequests Per Second, More Is BetterApache Benchmark 2.4.7Static Web Page ServingKPTI + RetpolineLinux 4.142K4K6K8K10KSE +/- 7.42, N = 3SE +/- 6.30, N = 3SE +/- 14.81, N = 3SE +/- 74.38, N = 36254.067331.488970.4710611.381. (CC) gcc options: -shared -fPIC -O2 -pthread

Compile Bench

Test: Compile

ThinkPad T61ThinkPad W510OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: CompileKPTI + RetpolineLinux 4.141122334455SE +/- 0.03, N = 3SE +/- 0.14, N = 3SE +/- 0.42, N = 3SE +/- 0.36, N = 347.5547.3842.2842.08

Compile Bench

Test: Initial Create

ThinkPad T61ThinkPad W510OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateKPTI + RetpolineLinux 4.141428425670SE +/- 0.38, N = 3SE +/- 2.61, N = 3SE +/- 1.45, N = 3SE +/- 1.28, N = 349.7253.4558.0662.17

Darktable

Test: Boat - Acceleration: CPU-only

ThinkPad T61ThinkPad W510OpenBenchmarking.orgSeconds, Fewer Is BetterDarktable 2.2.5Test: Boat - Acceleration: CPU-onlyKPTI + RetpolineLinux 4.1450100150200250SE +/- 0.12, N = 3SE +/- 0.07, N = 3SE +/- 0.06, N = 3SE +/- 0.03, N = 3241.42238.8060.0559.81

Darktable

Test: Masskrug - Acceleration: CPU-only

ThinkPad T61ThinkPad W510OpenBenchmarking.orgSeconds, Fewer Is BetterDarktable 2.2.5Test: Masskrug - Acceleration: CPU-onlyKPTI + RetpolineLinux 4.1450100150200250SE +/- 0.05, N = 3SE +/- 0.04, N = 3SE +/- 0.03, N = 3SE +/- 0.06, N = 3236.65233.4332.6532.09

Darktable

Test: Server Room - Acceleration: CPU-only

ThinkPad T61ThinkPad W510OpenBenchmarking.orgSeconds, Fewer Is BetterDarktable 2.2.5Test: Server Room - Acceleration: CPU-onlyKPTI + RetpolineLinux 4.1450100150200250SE +/- 0.04, N = 3SE +/- 0.07, N = 3SE +/- 0.06, N = 3SE +/- 0.01, N = 3224.11221.5027.4327.23

FLAC Audio Encoding

WAV To FLAC

ThinkPad T61ThinkPad W510OpenBenchmarking.orgSeconds, Fewer Is BetterFLAC Audio Encoding 1.3.1WAV To FLACKPTI + RetpolineLinux 4.14510152025SE +/- 0.02, N = 5SE +/- 0.03, N = 5SE +/- 0.16, N = 8SE +/- 0.18, N = 1021.1021.0112.6412.461. (CXX) g++ options: -O2 -fvisibility=hidden -lm

Flexible IO Tester

Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryKPTI + RetpolineLinux 4.140.24530.49060.73590.98121.2265SE +/- 0.02, N = 4SE +/- 0.01, N = 31.081.091. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 2.1.13Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryKPTI + RetpolineLinux 4.1460120180240300SE +/- 4.17, N = 42672701. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

ThinkPad T61ThinkPad W510OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryKPTI + RetpolineLinux 4.141020304050SE +/- 0.17, N = 3SE +/- 0.29, N = 3SE +/- 0.86, N = 6SE +/- 0.26, N = 334.5334.7442.7643.201. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

ThinkPad T61ThinkPad W510OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 2.1.13Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryKPTI + RetpolineLinux 4.142K4K6K8K10KSE +/- 43.67, N = 3SE +/- 73.00, N = 3SE +/- 215.18, N = 6SE +/- 64.26, N = 38629868010685107951. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 2.1.13Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryKPTI + RetpolineLinux 4.1450100150200250SE +/- 0.67, N = 3SE +/- 0.58, N = 32122101. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

FS-Mark

Test: 1000 Files, 1MB Size

ThinkPad T61ThinkPad W510OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeKPTI + RetpolineLinux 4.1448121620SE +/- 0.07, N = 3SE +/- 0.06, N = 3SE +/- 0.06, N = 3SE +/- 0.06, N = 316.3716.5017.2017.201. (CC) gcc options: -static

FS-Mark

Test: 4000 Files, 32 Sub Dirs, 1MB Size

ThinkPad T61ThinkPad W510OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeKPTI + RetpolineLinux 4.1448121620SE +/- 0.55, N = 6SE +/- 0.56, N = 6SE +/- 0.48, N = 6SE +/- 0.45, N = 615.1515.3016.7816.781. (CC) gcc options: -static

GIMP

Test: resize

ThinkPad T61ThinkPad W510OpenBenchmarking.orgSeconds, Fewer Is BetterGIMP 2.8.20Test: resizeKPTI + RetpolineLinux 4.143691215SE +/- 0.55, N = 6SE +/- 0.50, N = 6SE +/- 0.71, N = 6SE +/- 0.75, N = 611.109.4410.728.56

GIMP

Test: auto-levels

ThinkPad T61ThinkPad W510OpenBenchmarking.orgSeconds, Fewer Is BetterGIMP 2.8.20Test: auto-levelsKPTI + RetpolineLinux 4.1448121620SE +/- 0.00, N = 3SE +/- 0.03, N = 3SE +/- 0.08, N = 3SE +/- 0.08, N = 317.1915.1516.0813.33

GIMP

Test: unsharp-mask

ThinkPad T61ThinkPad W510OpenBenchmarking.orgSeconds, Fewer Is BetterGIMP 2.8.20Test: unsharp-maskKPTI + RetpolineLinux 4.14816243240SE +/- 0.22, N = 3SE +/- 0.11, N = 3SE +/- 0.19, N = 3SE +/- 0.23, N = 335.2030.4331.9226.92

Go Benchmarks

Test: http

ThinkPad T61ThinkPad W510OpenBenchmarking.orgNanoseconds/Operation, Fewer Is BetterGo BenchmarksTest: httpKPTI + RetpolineLinux 4.1420K40K60K80K100KSE +/- 569.75, N = 3SE +/- 233.81, N = 3SE +/- 16.86, N = 3SE +/- 16.46, N = 3105614791392836626487

Go Benchmarks

Test: json

ThinkPad T61ThinkPad W510OpenBenchmarking.orgNanoseconds/Operation, Fewer Is BetterGo BenchmarksTest: jsonKPTI + RetpolineLinux 4.1416M32M48M64M80MSE +/- 66185.75, N = 3SE +/- 52325.00, N = 3SE +/- 52843.46, N = 3SE +/- 29311.45, N = 374753814746300534726490747199972

Go Benchmarks

Test: build

ThinkPad T61ThinkPad W510OpenBenchmarking.orgNanoseconds/Operation, Fewer Is BetterGo BenchmarksTest: buildKPTI + RetpolineLinux 4.147000M14000M21000M28000M35000MSE +/- 595279963.75, N = 6SE +/- 722804296.76, N = 6SE +/- 932224364.54, N = 6SE +/- 948322922.90, N = 634024344510321952249122897597292228364548603

Go Benchmarks

Test: garbage

ThinkPad T61ThinkPad W510OpenBenchmarking.orgNanoseconds/Operation, Fewer Is BetterGo BenchmarksTest: garbageKPTI + RetpolineLinux 4.143M6M9M12M15MSE +/- 74849.70, N = 3SE +/- 99652.77, N = 3SE +/- 6113.53, N = 3SE +/- 6215.46, N = 3161359851577811485782768556981

GraphicsMagick

Operation: Sharpen

ThinkPad T61ThinkPad W510OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: SharpenKPTI + RetpolineLinux 4.141428425670SE +/- 0.33, N = 3505163631. (CC) gcc options: -fopenmp -O2 -pthread -lz -lm -lgomp -lpthread

GraphicsMagick

Operation: Resizing

ThinkPad T61ThinkPad W510OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: ResizingKPTI + RetpolineLinux 4.1420406080100SE +/- 0.33, N = 3767794961. (CC) gcc options: -fopenmp -O2 -pthread -lz -lm -lgomp -lpthread

PHPBench

PHP Benchmark Suite

ThinkPad T61ThinkPad W510OpenBenchmarking.orgScore, More Is BetterPHPBench 0.8.1PHP Benchmark SuiteKPTI + RetpolineLinux 4.1450K100K150K200K250KSE +/- 1730.62, N = 3SE +/- 600.45, N = 3SE +/- 1619.66, N = 3SE +/- 1607.05, N = 3216549225862241961243440

PostgreSQL pgbench

Scaling: Buffer Test - Test: Normal Load - Mode: Read Write

ThinkPad T61ThinkPad W510OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 10.0Scaling: Buffer Test - Test: Normal Load - Mode: Read WriteKPTI + RetpolineLinux 4.1470140210280350SE +/- 1.34, N = 3SE +/- 0.50, N = 3SE +/- 2.79, N = 3SE +/- 3.79, N = 3319.61321.97337.26338.811. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -fPIC -lpgcommon -lpgport -lpthread -lrt -lcrypt -ldl -lm

Redis

Test: LPUSH

ThinkPad T61ThinkPad W510OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: LPUSHKPTI + RetpolineLinux 4.14200K400K600K800K1000KSE +/- 3023.97, N = 6SE +/- 7600.22, N = 6SE +/- 5596.45, N = 3SE +/- 8763.33, N = 3108367.62174076.98791426.52952845.391. (CC) gcc options: -ggdb -rdynamic -lm -pthread

Redis

Test: GET

ThinkPad T61ThinkPad W510OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: GETKPTI + RetpolineLinux 4.14300K600K900K1200K1500KSE +/- 11530.17, N = 6SE +/- 251.24, N = 3SE +/- 9628.81, N = 3SE +/- 16039.96, N = 3129535.48193811.621111278.211303046.831. (CC) gcc options: -ggdb -rdynamic -lm -pthread

Redis

Test: SET

ThinkPad T61ThinkPad W510OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: SETKPTI + RetpolineLinux 4.14200K400K600K800K1000KSE +/- 771.67, N = 3SE +/- 1221.87, N = 3SE +/- 13112.96, N = 5SE +/- 15424.80, N = 4107773.49165079.92857991.641009039.191. (CC) gcc options: -ggdb -rdynamic -lm -pthread

SQLite

Test Target: Default Test Directory

ThinkPad T61ThinkPad W510OpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.8.10.2Test Target: Default Test DirectoryKPTI + RetpolineLinux 4.14120240360480600SE +/- 4.90, N = 3SE +/- 10.05, N = 6SE +/- 23.39, N = 6SE +/- 5.41, N = 3445.48447.25538.64488.351. (CC) gcc options: -O2 -ldl -lpthread

Stress-NG

Test: Crypto

ThinkPad T61ThinkPad W510OpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.07.26Test: CryptoKPTI + RetpolineLinux 4.1450100150200250SE +/- 0.08, N = 3SE +/- 0.04, N = 3SE +/- 0.94, N = 3SE +/- 0.95, N = 3196.09197.33240.75240.871. (CC) gcc options: -O2 -std=gnu99 -lm -lcrypt -lrt -lpthread -lc

Stress-NG

Test: Semaphores

ThinkPad T61ThinkPad W510OpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.07.26Test: SemaphoresKPTI + RetpolineLinux 4.141.3M2.6M3.9M5.2M6.5MSE +/- 70907.53, N = 3SE +/- 33088.28, N = 3SE +/- 22346.59, N = 3SE +/- 38478.85, N = 36034344.684494717.842589374.223239415.541. (CC) gcc options: -O2 -std=gnu99 -lm -lcrypt -lrt -lpthread -lc

Stress-NG

Test: Memory Copying

ThinkPad T61ThinkPad W510OpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.07.26Test: Memory CopyingKPTI + RetpolineLinux 4.14110220330440550SE +/- 1.50, N = 3SE +/- 0.32, N = 3SE +/- 1.42, N = 3SE +/- 1.45, N = 3215.66217.66507.41509.151. (CC) gcc options: -O2 -std=gnu99 -lm -lcrypt -lrt -lpthread -lc

Stress-NG

Test: Socket Activity

ThinkPad T61ThinkPad W510OpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.07.26Test: Socket ActivityKPTI + RetpolineLinux 4.1430060090012001500SE +/- 120.01, N = 6SE +/- 79.34, N = 6SE +/- 51.76, N = 6SE +/- 88.78, N = 6607.44954.021057.141493.171. (CC) gcc options: -O2 -std=gnu99 -lm -lcrypt -lrt -lpthread -lc

Stress-NG

Test: Context Switching

ThinkPad T61ThinkPad W510OpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.07.26Test: Context SwitchingKPTI + RetpolineLinux 4.14200K400K600K800K1000KSE +/- 1908.64, N = 3SE +/- 556.55, N = 3SE +/- 5230.97, N = 3SE +/- 3687.23, N = 3340906.57505190.48592191.89847639.341. (CC) gcc options: -O2 -std=gnu99 -lm -lcrypt -lrt -lpthread -lc

Stress-NG

Test: System V Message Passing

ThinkPad T61ThinkPad W510OpenBenchmarking.orgBogo Ops/s, More Is BetterStress-NG 0.07.26Test: System V Message PassingKPTI + RetpolineLinux 4.14900K1800K2700K3600K4500KSE +/- 53584.21, N = 6SE +/- 5660.01, N = 3SE +/- 238178.32, N = 6SE +/- 356828.38, N = 6764023.461429892.961525006.603988434.841. (CC) gcc options: -O2 -std=gnu99 -lm -lcrypt -lrt -lpthread -lc

Systemd Total Boot Time

Test: Total

ThinkPad T61ThinkPad W510OpenBenchmarking.orgms, Fewer Is BetterSystemd Total Boot TimeTest: TotalKPTI + RetpolineLinux 4.1412K24K36K48K60K55490475104819048210

Systemd Total Boot Time

Test: Kernel

ThinkPad T61ThinkPad W510OpenBenchmarking.orgms, Fewer Is BetterSystemd Total Boot TimeTest: KernelKPTI + RetpolineLinux 4.14150030004500600075007040676058005620

Systemd Total Boot Time

Test: Userspace

ThinkPad T61ThinkPad W510OpenBenchmarking.orgms, Fewer Is BetterSystemd Total Boot TimeTest: UserspaceKPTI + RetpolineLinux 4.1410K20K30K40K50K48450407504238042580

Timed Apache Compilation

Time To Compile

ThinkPad T61ThinkPad W510OpenBenchmarking.orgSeconds, Fewer Is BetterTimed Apache Compilation 2.4.7Time To CompileKPTI + RetpolineLinux 4.1420406080100SE +/- 0.10, N = 3SE +/- 0.11, N = 3SE +/- 0.24, N = 3SE +/- 0.11, N = 3105.70101.0866.8463.93

Timed Linux Kernel Compilation

Time To Compile

ThinkPad T61ThinkPad W510OpenBenchmarking.orgSeconds, Fewer Is BetterTimed Linux Kernel Compilation 4.13Time To CompileKPTI + RetpolineLinux 4.142004006008001000SE +/- 2.75, N = 3SE +/- 1.70, N = 3SE +/- 1.88, N = 3SE +/- 1.68, N = 3779.00751.35427.19413.19


Phoronix Test Suite v10.8.4