Wydajność EM400: Różnice pomiędzy wersjami

Przejdź do nawigacji Przejdź do wyszukiwania
Nie podano opisu zmian
 
(Nie pokazano 83 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 1: Linia 1:
Testy wydajności emulacji przeprowadzone zostały przy użyciu [https://github.com/jakubfi/mera400/blob/master/em400/tests/benchmark/eval_k202.asm nieznacznie zmodyfikowanego programu], którego w roku '72 użyto do oceny wydajności K-202.
Testy wydajności emulacji przeprowadzone zostały przy użyciu [https://github.com/jakubfi/em400/blob/master/tests/benchmark/real/eval-k202.asm programu], którego w roku 1972 użyto do [https://mera400.pl/files/k202/k202-protokol-szybkosci.pdf oceny wydajności K-202].
 
= K-202, MERA-400 =
 
{| class="wikitable" style="text-align: center;"
! Data !! Sprzęt !! Szybkość [MIPS] !! Uwagi
|-
| 1972-12-04 || K-202 || 0.424 || Protokół komisji oceny K-202
|-
| 2013-09-19 || MERA-400 || 0.308 || Test uruchomiony na MERZE-400 w Dęblinie
|-
| 2019-02-28 || MERA-400 || 0.285 || Test uruchomiony na innym egzemplarzu komputera
|-
| - || MERA-400 || 0.414 || Szybkość testu obliczona na podstawie czasów wykonania rozkazów podanych w DTR
|}
 
= Intel Core2Duo @2.80GHz =
 
== GCC ==
 
{| class="wikitable" style="text-align: center;"
! Data !! Kompilator !! Szybkość [MIPS] !! commit !! Uwagi
|-
| 2013-03-13 || GCC 4.5 || 0.858 || a7d9e3b06025fd29e2d37cdcb45d1bd113f4435b || DEBUGGER
|-
| 2013-03-13 || GCC 4.5 || 7.8 || a7d9e3b06025fd29e2d37cdcb45d1bd113f4435b || baseline v1
|-
| 2013-03-13 || GCC 4.5 || 10.422 || 521d6d62712bcc9541bf65a0e5f44d704020ddcf || optymalizacja rejestrów
|-
| 2013-03-13 || GCC 4.5 || 25 || cf1a3117f1e6ff13999420d1aa3c70f69e427f1e || usunięcie zbędnej synchronizacji
|-
| 2013-03-13 || GCC 4.5 || 27.7 || b84e5b58ab78b37f193022d0412d8756c3c49ab9 || poprawka mem_ptr()
|-
| 2013-03-13 || GCC 4.5 || 30 || 5aa4d931cfc2ff1c356724ce180c9756f0f9f34e || poprawka arg_norm()
|-
| 2013-07-15 || GCC 4.6.3 || 25 || cca432061065fd61b5e25e80c40073818db46467 || baseline v2
|-
| 2013-07-15 || GCC 4.6.3 || 30 || 89628c425ac8cc131e82e6a04698858afb1c3508 || nowy cykl rozkazowy
|-
| 2013-08-01 || GCC 4.6.3 || 16.3 || 41d62c38cecfb24b0743de367d599ce9ffd588e3 || -Ofast, mem spinlock
|-
| 2013-08-19 || GCC 4.6.3 || 18.3 || 7075de662e7e9ae16cb4f24b082e21c8f5b5dbbf || cykl rozkazowy dla sint
|-
| 2013-08-20 || GCC 4.6.3 || 18.1 || 8e69c35757b9d68353e44b8c33e66debfd334469 || fix regs_write (no debug)
|-
| 2014-03-04 || GCC 4.7.3 || 16.9 || 7ff5e69cc9657629974501ad95b1ff2ea4e38917 ||
|-
| 2014-05-06 || GCC 4.7.3 || 17.1 || 9bd87a6f821ac6b918ffc32da7bb6d35f509b761 || poprawiony 17-bit addr.
|-
| 2014-08-12 || GCC 4.7.3 || 33.8 || 94e56dd582671a161cda0f00cec740414ac942a7 || __atomic_*()
|-
| 2014-08-13 || GCC 4.7.3 || 37.4 || 2d901486f28c388e12a5345e734d5f1617f34918 || SLID
|-
| 2014-08-14 || GCC 4.7.3 || 40.6 || eeea2d0f1646b8df1574494670249625f12d7ca1 || __atomic_() RP
|-
| 2014-09-23 || GCC 4.7.3 || 38.9 || a2d335198605c7c5d75d782b7f3cdfdd7fd84da7 || cpu mod fixes
|-
| 2014-11-12 || GCC 4.7.3 || 38.6 || a07745023f4ed2e54ee22a3dda94c2389db8e481 || emulog/emdas and friends
|}
 
== Clang ==
 
{| class="wikitable" style="text-align: center;"
! Data !! Kompilator !! Szybkość [MIPS] !! commit !! Uwagi
|-
| 2013-07-15 || clang 3.3 || 31 || 89628c425ac8cc131e82e6a04698858afb1c3508 || nowy cykl rozkazowy
|-
| 2013-08-01 || clang 3.3 || 18.5 || 41d62c38cecfb24b0743de367d599ce9ffd588e3 || -Ofast, mem spinlock
|-
| 2013-08-19 || clang 3.3 || 17.0 || 7075de662e7e9ae16cb4f24b082e21c8f5b5dbbf || cykl rozkazowy dla sint
|-
| 2013-08-20 || clang 3.3 || 18.7 || 8e69c35757b9d68353e44b8c33e66debfd334469 || fix regs_write (no debug)
|-
| 2014-03-04 || clang 3.4 || 16.4 || 7ff5e69cc9657629974501ad95b1ff2ea4e38917 ||
|-
| 2014-05-06 || clang 3.4 || 16.8 || 9bd87a6f821ac6b918ffc32da7bb6d35f509b761 || poprawiony 17-bit addr.
|-
| 2014-08-12 || clang 3.4.2 || 34.4 || 94e56dd582671a161cda0f00cec740414ac942a7 || __atomic_*()
|-
| 2014-08-13 || clang 3.4.2 || 32.1 || 2d901486f28c388e12a5345e734d5f1617f34918 || SLID
|-
| 2014-08-14 || clang 3.4.2 || 41.2 || eeea2d0f1646b8df1574494670249625f12d7ca1 || __atomic_() RP
|-
| 2014-09-23 || clang 3.5.0 || 43.3 || a2d335198605c7c5d75d782b7f3cdfdd7fd84da7 || cpu mod fixes
|-
| 2014-11-12 || clang 3.5.0 || 42.6 || a07745023f4ed2e54ee22a3dda94c2389db8e481 || emulog/emdas and friends
|}
 
= Intel Core i3 530 @2.93GHz =
 
== GCC ==
 
{| class="wikitable" style="text-align: center;"
! Data !! Kompilator !! Szybkość [MIPS] !! commit !! Uwagi
|-
| 2013-07-15 || GCC 4.6.3 || 26.5 || 89628c425ac8cc131e82e6a04698858afb1c3508 || nowy cykl rozkazowy
|-
| 2013-07-30 || GCC 4.6.3 || 24.5 || 41d62c38cecfb24b0743de367d599ce9ffd588e3 || -Ofast, mem spinlock
|-
| 2013-08-19 || GCC 4.6.3 || 22.7 || 7075de662e7e9ae16cb4f24b082e21c8f5b5dbbf || cykl rozkazowy dla sint
|-
| 2013-08-20 || GCC 4.6.3 || 24.4 || 8e69c35757b9d68353e44b8c33e66debfd334469 || fix regs_write (no debug)
|-
| 2014-03-04 || GCC 4.7.3 || 23.5 || 7ff5e69cc9657629974501ad95b1ff2ea4e38917 ||
|-
| 2014-05-06 || GCC 4.7.3 || 24.2 || 9bd87a6f821ac6b918ffc32da7bb6d35f509b761 || poprawiony 17-bit addr.
|-
| 2014-08-12 || GCC 4.7.3 || 30.5 || 94e56dd582671a161cda0f00cec740414ac942a7 || __atomic_*()
|-
| 2014-08-13 || GCC 4.7.3 || 32.8 || 2d901486f28c388e12a5345e734d5f1617f34918 || SLID
|-
| 2014-08-14 || GCC 4.7.3 || 35.4 || eeea2d0f1646b8df1574494670249625f12d7ca1 || __atomic_() RP
|-
| 2014-09-23 || GCC 4.7.3 || 34.3 || a2d335198605c7c5d75d782b7f3cdfdd7fd84da7 || cpu mod fixes
|-
| 2014-11-10 || GCC 4.7.3 || 34.0 || a07745023f4ed2e54ee22a3dda94c2389db8e481 || emulog/emdas and friends
|-
| 2015-04-21 || GCC 4.8.4 || 37.5 || a07745023f4ed2e54ee22a3dda94c2389db8e481 ||
|}
 
== Clang ==
 
{| class="wikitable" style="text-align: center;"
! Data !! Kompilator !! Szybkość [MIPS] !! commit !! Uwagi
|-
| 2013-07-15 || clang 3.3 || 30.5 || 89628c425ac8cc131e82e6a04698858afb1c3508 || nowy cykl rozkazowy
|-
| 2013-07-30 || clang 3.3 || 25.8 || 41d62c38cecfb24b0743de367d599ce9ffd588e3 || -Ofast, mem spinlock
|-
| 2013-08-19 || clang 3.3 || 25.1 || 7075de662e7e9ae16cb4f24b082e21c8f5b5dbbf || cykl rozkazowy dla sint
|-
| 2013-08-20 || clang 3.3 || 25 || 8e69c35757b9d68353e44b8c33e66debfd334469 || fix regs_write (no debug)
|-
| 2014-03-04 || clang 3.4 || 23.5 || 7ff5e69cc9657629974501ad95b1ff2ea4e38917 ||
|-
| 2014-05-06 || clang 3.4 || 23.6 || 9bd87a6f821ac6b918ffc32da7bb6d35f509b761 || poprawiony 17-bit addr.
|-
| 2014-08-12 || clang 3.4.2 || 32.7 || 94e56dd582671a161cda0f00cec740414ac942a7 || __atomic_*()
|-
| 2014-08-13 || clang 3.4.2 || 32.5 || 2d901486f28c388e12a5345e734d5f1617f34918 || SLID
|-
| 2014-08-14 || clang 3.4.2 || 36.0 || eeea2d0f1646b8df1574494670249625f12d7ca1 || __atomic_() RP
|-
| 2014-09-23 || clang 3.5.0 || 38.9 || a2d335198605c7c5d75d782b7f3cdfdd7fd84da7 || cpu mod fixes
|-
| 2014-11-10 || clang 3.5.0 || 38.6 || a07745023f4ed2e54ee22a3dda94c2389db8e481 || emulog/emdas and friends
|-
| 2015-04-21 || clang 3.6.0 || 37.5 || a07745023f4ed2e54ee22a3dda94c2389db8e481 ||
|}
 
= Intel Core i5-4570S @2.9GHz, no turbo =
 
== GCC ==


{| class="wikitable" style="text-align: center;"
{| class="wikitable" style="text-align: center;"
! Data !! Kompilator !! Sprzęt !! Szybkość [MIPS] !! Uwagi
! Data !! Kompilator !! Szybkość [MIPS] !! commit !! Uwagi
|- style="background: Lavender;"
|-
| 1972-12-04 || - || K-202 || 0.424 || Test komisji oceny K-202
| 2016-02-28 || GCC 4.9.3 || 60 || a07745023f4ed2e54ee22a3dda94c2389db8e481 ||
|-
| 2016-10-20 || GCC 4.9.3 || 63.9 || 4f5bd2101479292db3e266b528331bfb1cd1e833 || stary benchmark
|-
| 2016-10-20 || GCC 4.9.3 || 64.6 || 4f5bd2101479292db3e266b528331bfb1cd1e833 || nowy benchmark
|-
|-
| 2013-03-13 || GCC 4.5 || Core2Duo @2.80GHz || 0.858 || DEBUGGER
| 2016-12-05 || GCC 4.9.3 || 60.1 || 10991de759717e7603d7da9657cfe2480f36156b || nef jumps
|- style="background: Lavender;"
| 2013-03-13 || GCC 4.5 || Core2Duo @2.80GHz || 7.8 || baseline v1
|-
|-
| 2013-03-13 || GCC 4.5 || Core2Duo @2.80GHz || 10.422 || +optymalizacja rejestrów
| 2017-03-15 || GCC 4.9.4 || 60.6 || 542937e1d3e971eaf8d9e5e0c3054bccb85dd41d ||
|-
|-
| 2013-03-13 || GCC 4.5 || Core2Duo @2.80GHz || 25 || +usunięcie zbędnej synchronizacji
| 2017-04-18 || GCC 5.4.0 || 59.6 || b4794ce7fe5f0db6c29a2082fa57a087e399bbe9 ||
|-
|-
| 2013-03-13 || GCC 4.5 || Core2Duo @2.80GHz || 27.7 || +poprawka mem_ptr()
| 2017-04-18 || GCC 6.4.0 || 59.8 || b4794ce7fe5f0db6c29a2082fa57a087e399bbe9 ||
|-
|-
| 2013-03-13 || GCC 4.5 || Core2Duo @2.80GHz || 30 || +poprawka arg_norm()
| 2018-10-14 || GCC 7.3.0 || 60.5 || f25adc1b7ec60a9da91262471a44186e38c11de7 ||
|- style="background: Lavender;"
| 2013-07-15 || GCC 4.6.3 || Core2Duo @2.80GHz || 25 || baseline v2
|-
|-
| 2013-07-15 || GCC 4.6.3 || Core2Duo @2.80GHz || 30 || nowy cykl rozkazowy
| 2019-02-28 || GCC 8.2.0 || 60.9 || b17487d40f1c3a9ff3e3fee5ed08e8079429c204 ||
|-
|-
| 2013-07-15 || clang 3.3 || Core2Duo @2.80GHz || 31 || nowy cykl rozkazowy
| 2019-05-15 || GCC 8.3.0 || 60.9 || 57967c6b13ad3fa2ef8370b9e0240a89f3646c34 ||
|-
|-
| 2013-07-15 || GCC 4.6.3 || i3 530 @2.93GHz || 26.5 || nowy cykl rozkazowy
| 2019-08-09 || GCC 8.3.0 || 62.6 || 71e96400e85307ac6d514ed18fa1e1f857a908d2 || stare UI wyrzucone z pętli CPU
|-
|-
| 2013-07-15 || clang 3.3 || i3 530 @2.93GHz || 30.5 || nowy cykl rozkazowy
| 2019-11-09 || GCC 9.2.0 || 65.7 || 71e96400e85307ac6d514ed18fa1e1f857a908d2 ||
|-
|-
| 2013-07-15 || GCC 4.6.3 || RPi @700MHz || 1.79 || nowy cykl rozkazowy
| 2020-02-19 || GCC 9.2.0 || 63.0 || 6897a5d21ee018a1fd8cbd9f4ecbe5bf4c0efd5a || with speed_real and sound
|-
| 2020-05-21 || GCC 9.3.0 || 62.1 || ec444aab1f84e515febd703d4cab5ca2a75747a7 ||
|-
| 2020-09-27 || GCC 9.3.0 || 58.8 || 73ecf474df8e8626cd0ab5cbf49b2894d4d2e610 || 0.4
|}
 
== Clang ==
 
{| class="wikitable" style="text-align: center;"
! Data !! Kompilator !! Szybkość [MIPS] !! commit !! Uwagi
|-
| 2016-02-28 || clang 3.7.1 || 55.6 || a07745023f4ed2e54ee22a3dda94c2389db8e481 ||
|-
| 2016-05-14 || clang 3.8.0 || 59.0 || a07745023f4ed2e54ee22a3dda94c2389db8e481 ||
|-
| 2016-10-20 || clang 3.8.1 || 61.0 || 4f5bd2101479292db3e266b528331bfb1cd1e833 || stary benchmark
|-
| 2016-10-20 || clang 3.8.1 || 60.9 || 4f5bd2101479292db3e266b528331bfb1cd1e833 || nowy benchmark
|-
| 2016-12-05 || clang 3.9.0 || 59.9 || 10991de759717e7603d7da9657cfe2480f36156b || nef jumps
|-
| 2017-03-15 || clang 4.0.0 || 55.0 || 542937e1d3e971eaf8d9e5e0c3054bccb85dd41d ||
|-
| 2017-03-15 || clang 5.0.0 || 54.3 || 542937e1d3e971eaf8d9e5e0c3054bccb85dd41d ||
|-
| 2018-10-14 || clang 7.0.0 || 55.0 || f25adc1b7ec60a9da91262471a44186e38c11de7 ||
|-
| 2019-02-28 || clang 7.0.1 || 54.6 || b17487d40f1c3a9ff3e3fee5ed08e8079429c204 ||
|-
| 2019-05-15 || clang 8.0.0 || 54.6 || 57967c6b13ad3fa2ef8370b9e0240a89f3646c34 ||
|-
| 2019-08-09 || clang 8.0.1 || 56.1 || 71e96400e85307ac6d514ed18fa1e1f857a908d2 || stare UI wyrzucone z pętli CPU
|-
| 2019-11-09 || clang 9.0.0 || 56.2 || 71e96400e85307ac6d514ed18fa1e1f857a908d2 ||
|-
| 2020-02-19 || clang 9.0.1 || 54.8 || 6897a5d21ee018a1fd8cbd9f4ecbe5bf4c0efd5a || with speed_real and sound
|-
| 2020-05-21 || clang 10.0.0 || 55.5 || ec444aab1f84e515febd703d4cab5ca2a75747a7 ||
|-
| 2020-09-27 || clang 10.0.1 || 57.7 || 73ecf474df8e8626cd0ab5cbf49b2894d4d2e610 || 0.4
|}
 
 
= Intel(R) Core(TM) i5-9400 CPU @ 2.90GHz, no turbo =
 
== GCC ==
 
{| class="wikitable" style="text-align: center;"
! Data !! Kompilator !! Szybkość [MIPS] !! commit !! Uwagi
|-
| 2021-03-09 || GCC 10.2.0 || 63.0 || 20a4f5ab72a87dbd70b23366db35a0b96130e747 ||
|}
 
== Clang ==
 
{| class="wikitable" style="text-align: center;"
! Data !! Kompilator !! Szybkość [MIPS] !! commit !! Uwagi
|-
| 2021-03-09 || Clang 11.0.1 || 63.7 || 20a4f5ab72a87dbd70b23366db35a0b96130e747 ||
|}
 
= Raspberry Pi =
 
{| class="wikitable" style="text-align: center;"
! Data !! Kompilator !! Szybkość [MIPS] !! commit !! Uwagi
|-
| 2013-07-15 || GCC 4.6.3 || 1.79 || 89628c425ac8cc131e82e6a04698858afb1c3508 || nowy cykl rozkazowy
|-
| 2014-05-06 || GCC 4.7.3 || 1.06 || 9bd87a6f821ac6b918ffc32da7bb6d35f509b761 || poprawiony 17-bit addr.
|-
| 2014-08-12 || GCC 4.7.3 || 1.60 || 94e56dd582671a161cda0f00cec740414ac942a7 || __atomic_*()
|-
| 2014-08-13 || GCC 4.7.3 || 1.57 || 2d901486f28c388e12a5345e734d5f1617f34918 || SLID
|-
| 2014-08-14 || GCC 4.7.3 || 2.30 || eeea2d0f1646b8df1574494670249625f12d7ca1 || __atomic_() RP
|-
| 2014-09-23 || GCC 4.7.3 || 2.05 || a2d335198605c7c5d75d782b7f3cdfdd7fd84da7 || cpu mod fixes
|-
| 2014-11-10 || GCC 4.7.3 || 2.15 || a07745023f4ed2e54ee22a3dda94c2389db8e481 || emulog/emdas and friends
|-
| 2015-04-18 || GCC 4.8.2 || 2.35 || a07745023f4ed2e54ee22a3dda94c2389db8e481 || +zmiana systemu z Gentoo na Debian Wheezy
|-
| 2016-10-15 || GCC 4.9.2 || 2.1 || 8cdcd4c42ff8c6a605067d9e7db42800c2e202ff ||
|-
| 2016-10-20 || GCC 4.9.2 || 1.99 || 4f5bd2101479292db3e266b528331bfb1cd1e833 || nowy benchmark
|-
| 2016-12-05 || GCC 4.9.2 || 1.69 || 10991de759717e7603d7da9657cfe2480f36156b || nef jumps
|}
 
= Raspberry Pi 2 =
 
{| class="wikitable" style="text-align: center;"
! Data !! Kompilator !! Szybkość [MIPS] !! commit !! Uwagi
|-
| 2015-04-21 || GCC 4.8.2 || 2.87 || a07745023f4ed2e54ee22a3dda94c2389db8e481 || arm6
|-
| 2015-04-21 || GCC 4.8.2 || 3.04 || a07745023f4ed2e54ee22a3dda94c2389db8e481 || armv7-a
|-
| 2016-10-15 || GCC 4.9.2 || 3.84 || 8cdcd4c42ff8c6a605067d9e7db42800c2e202ff ||
|-
| 2016-10-20 || GCC 4.9.2 || 3.66 || 4f5bd2101479292db3e266b528331bfb1cd1e833 || nowy benchmark
|-
| 2016-12-05 || GCC 4.9.2 || 3.36 || 10991de759717e7603d7da9657cfe2480f36156b || nef jumps
|}
 
= Banana Pi =
 
{| class="wikitable" style="text-align: center;"
! Data !! Kompilator !! Szybkość [MIPS] !! commit !! Uwagi
|-
| 2015-04-18 || GCC 4.7.2 || 3.15 || a07745023f4ed2e54ee22a3dda94c2389db8e481 || armv7-a
|}
 
= PowerPC PPC970FX @1.8GHz =
 
{| class="wikitable" style="text-align: center;"
! Data !! Kompilator !! Szybkość [MIPS] !! commit !! Uwagi
|-
|-
| 2013-07-15 || GCC 4.6.3 || RPi @800MHz || 2.05 || nowy cykl rozkazowy
| 2016-10-20 || GCC 4.9.2 || 6.95 || 4f5bd2101479292db3e266b528331bfb1cd1e833 ||
|-
|-
| 2013-07-15 || GCC 4.6.3 || RPi @900MHz || 2.31 || nowy cykl rozkazowy
| 2016-12-05 || GCC 4.9.2 || 6.50 || 10991de759717e7603d7da9657cfe2480f36156b || nef jumps
|}
|}

Menu nawigacyjne