2,253 views
この記事は最終更新から 1801日 が経過しています。
現在使っているメイン・ワークステーションは以下のようなスペックだ。
・CPU: Xeon x5690 x 2個 (12cores, 24threads)
・Memory: 48GB
・SSD: 256GB
・HDD: 4TB
・OS: CentOS 7
特に不満なく使用しているのだが、ヤフオクを眺めていると Xeon E5-2687W, E5-2690 クラスの CPUを搭載したマシンの値下がりがだいぶ進んでおり、私自身もそろそろ Westmere世代 を卒業しようかと考え中だ。
例によって PASSMARK のサイトで 「このCPUはどんなもんか?」 とスコアを閲覧する機会が増えた。
https://www.cpubenchmark.net/high_end_cpus.html
そこで (90) PASSMARKのCPUベンチ情報をフィルタリング で作ったプログラムを少しだけ改良して見やすくした。
1. 制作
(1) プログラム作成
view_passmark_cpu.py ※2019.10.30 対象HPの構造が変わり、このプログラムでは読めない…
修正版はこちらです。 → (112) PASSMARKのCPUベンチ情報をフィルタリング #3 (2019年10月版)
import urllib.request from bs4 import BeautifulSoup import re class PmCpu: def __init__(self, cpu_name, cpu_score): self.name = cpu_name self.score = cpu_score class PmParse: def __init__(self): self.ary_cpu = [] def load_CPU_infos( self, urls ): for url in urls: print("Now loading : %s" % url) self.load_CPU_info( url ) def load_CPU_info( self, url ): resp = urllib.request.urlopen(url) html = resp.read() bs = BeautifulSoup(html, 'html.parser') div = bs.find('div', id='mark') table = div.find('table', class_='chart') for tr in table.findAll('tr'): td = tr.findAll('td') if len(td) == 0: continue td0_a = td[0].findAll('a') if len(td0_a) <= 0 : continue cpu_name = td0_a[0].get_text() cpu_score = int(td[1].get_text().replace(',','')) pmCpu = PmCpu(cpu_name, cpu_score) self.ary_cpu.append(pmCpu) def display_CPU_info( self, keys ): rank = 0 for pmCpu in self.ary_cpu: is_disp = True for key in keys : if re.search(r"%s" % key, pmCpu.name, re.I) == None: is_disp = False break if is_disp == True: rank = rank + 1 print("%4d: %5d : %s" % (rank, pmCpu.score, pmCpu.name))
(2) 使い方
$ python3
1. 情報収集
import view_passmark_cpu c = view_passmark_cpu.PmParse() urls = ['https://www.cpubenchmark.net/high_end_cpus.html','https://www.cpubenchmark.net/mid_range_cpus.html','https://www.cpubenchmark.net/midlow_range_cpus.html','https://www.cpubenchmark.net/low_end_cpus.html'] c.load_CPU_infos(urls)
2. フィルターをかけて表示
c.display_CPU_info(['Core','i7'])
2. よく見る情報を列挙
よく見たくなる CPUだけを絞って表示させておく。
E5-1650 1: 14246 : Intel Xeon E5-1650 v4 @ 3.60GHz 2: 13609 : Intel Xeon E5-1650 v3 @ 3.50GHz 3: 12695 : Intel Xeon E5-1650 v2 @ 3.50GHz 4: 11755 : Intel Xeon E5-1650 @ 3.20GHz
E5-1660 1: 16192 : Intel Xeon E5-1660 v4 @ 3.20GHz 2: 14423 : Intel Xeon E5-1660 v3 @ 3.00GHz 3: 13686 : Intel Xeon E5-1660 v2 @ 3.70GHz 4: 12369 : Intel Xeon E5-1660 @ 3.30GHz
E5-1680 1: 17093 : Intel Xeon E5-1680 v4 @ 3.40GHz 2: 16633 : Intel Xeon E5-1680 v3 @ 3.20GHz 3: 16345 : Intel Xeon E5-1680 v2 @ 3.00GHz
E5-2640 1: 15331 : Intel Xeon E5-2640 v4 @ 2.40GHz 2: 14070 : Intel Xeon E5-2640 v3 @ 2.60GHz 3: 9904 : Intel Xeon E5-2640 v2 @ 2.00GHz 4: 9500 : Intel Xeon E5-2640 @ 2.50GHz
E5-2650 1: 15860 : Intel Xeon E5-2650 v4 @ 2.20GHz 2: 14845 : Intel Xeon E5-2650 v3 @ 2.30GHz 3: 14093 : Intel Xeon E5-2650L v4 @ 1.70GHz 4: 13390 : Intel Xeon E5-2650L v3 @ 1.80GHz 5: 13065 : Intel Xeon E5-2650 v2 @ 2.60GHz 6: 10160 : Intel Xeon E5-2650 @ 2.00GHz 7: 8676 : Intel Xeon E5-2650L @ 1.80GHz
E5-2660 1: 17069 : Intel Xeon E5-2660 v4 @ 2.00GHz 2: 16151 : Intel Xeon E5-2660 v3 @ 2.60GHz 3: 13309 : Intel Xeon E5-2660 v2 @ 2.20GHz 4: 11093 : Intel Xeon E5-2660 @ 2.20GHz
E5-2670 1: 16619 : Intel Xeon E5-2670 v3 @ 2.30GHz 2: 14994 : Intel Xeon E5-2670 v2 @ 2.50GHz 3: 12184 : Intel Xeon E5-2670 @ 2.60GHz
E5-2680 1: 19867 : Intel Xeon E5-2680 v4 @ 2.40GHz 2: 18616 : Intel Xeon E5-2680 v3 @ 2.50GHz 3: 15737 : Intel Xeon E5-2680 v2 @ 2.80GHz 4: 12638 : Intel Xeon E5-2680 @ 2.70GHz
E5-2687 1: 19933 : Intel Xeon E5-2687W v4 @ 3.00GHz 2: 17718 : Intel Xeon E5-2687W v3 @ 3.10GHz 3: 16487 : Intel Xeon E5-2687W v2 @ 3.40GHz 4: 14381 : Intel Xeon E5-2687W @ 3.10GHz
E5-2690 1: 21326 : Intel Xeon E5-2690 v4 @ 2.60GHz 2: 19281 : Intel Xeon E5-2690 v3 @ 2.60GHz 3: 16480 : Intel Xeon E5-2690 v2 @ 3.00GHz 4: 13860 : Intel Xeon E5-2690 @ 2.90GHz