docomo spモードが 実効速度 100Mbps をかるく越えてる件

ふと計測してみたのですが...

Speedtest.net - Google Play の Android アプリ

ドコモ spモード で.

針の振り切り方が激しすぎる!

自宅の フレッツ光 + OCN でも計測した結果.

ホントかよ...?

ドコモのサイトに なんか凄い数字書いてるけど...

サービスエリアマップ | エリア | NTTドコモ

これって, あくまで, 理論値だよな...

しかし...

2017年 3大キャリアの実行速度公開 :ドコモ圧勝。SB下りが最下位。KDDI上りの遅さも目立つ【docomo/KDDI/SoftBank】 – め組のライフスタイル マガジン

実効速度計測結果 | エリア | NTTドコモ

じっこう
【実効】
実際の効力。実際のききめ。

ホントなんだわ 100Mbps...

まさかの

自宅の回線契約とか不要な時代が来ましたでしょうか?

(つづく)

Android USB テザリング 経由で 100Mbps を超える


Mac Book Pro 2017 のプロセッサー スペックの件

以下のスペックの違いを不思議に思ってました.

MacBook Pro - 仕様 - Apple(日本)

昨日 Apple Genius Bar に行ったついでに質問しました.

13インチ「タッチバーなし」が欲しいんですけど,

おまえら極端にCPUスペック落としてんじゃね?

「タッチバーあり」を売りつけようとすんなよ!

高えんだよ! このカスが !

すると担当スタッフの方が,

はぁ?

「タッチバーあり」と「タッチバーなし」のスペック差は
タッチバーの表示と処理のためのものなんだけど!

別に差つけて誘導してるわけじゃねんだけど!

つまんねえ言いがかりつけてくんなよ, クソが!

おっさん乙.

というかんじで回答をされました.

(実際の口調は違います)

せっかくなので 少し調べてみることにします.

現在販売中の Mac Book Pro

現在 ストアで販売中のものをプロセッサー選択肢を見ながら一覧にします.

13インチ

タッチバーなし
- 第7世代の2.3GHzデュアルコアIntel Core i5プロセッサ(Turbo Boost使用時最大3.6GHz)
- 第7世代の2.5GHzデュアルコアIntel Core i7プロセッサ(Turbo Boost使用時最大4.0GHz)

タッチバーあり
- 第7世代の3.1GHzデュアルコアIntel Core i5プロセッサ(Turbo Boost使用時最大3.5GHz)
- 第7世代の3.3GHzデュアルコアIntel Core i5プロセッサ(Turbo Boost使用時最大3.7GHz)
- 第7世代の3.5GHzデュアルコアIntel Core i7プロセッサ(Turbo Boost使用時最大4.0GHz)

15インチ

タッチバーあり
- 第7世代の2.8GHzクアッドコアIntel Core i7プロセッサ(Turbo Boost使用時最大3.8GHz)
- 第7世代の2.9GHzクアッドコアIntel Core i7プロセッサ(Turbo Boost使用時最大3.9GHz)
- 第7世代の3.1GHzクアッドコアIntel Core i7プロセッサ(Turbo Boost使用時最大4.1GHz)

タッチバーなし(2015)
- 2.2GHzクアッドコアIntel Core i7プロセッサ(Turbo Boost使用時最大3.4GHz)
- 2.5GHzクアッドコアIntel Core i7プロセッサ(Turbo Boost使用時最大3.7GHz)
- 2.8GHzクアッドコアIntel Core i7プロセッサ(Turbo Boost使用時最大4.0GHz)

これらをすこし長いので分かりやすく短くしておきます.

13インチ - タッチバーなし - 第7世代 - 2.3GHz - i5
13インチ - タッチバーなし - 第7世代 - 2.5GHz - i7
13インチ - タッチバーあり - 第7世代 - 3.1GHz - i5
13インチ - タッチバーあり - 第7世代 - 3.3GHz - i5
13インチ - タッチバーあり - 第7世代 - 3.5GHz - i7
15インチ - タッチバーあり - 第7世代 - 2.8GHz - i7
15インチ - タッチバーあり - 第7世代 - 2.9GHz - i7
15インチ - タッチバーあり - 第7世代 - 3.1GHz - i7
15インチ - タッチバーなし - 第4世代 - 2.2GHz - i7
15インチ - タッチバーなし - 第4世代 - 2.5GHz - i7
15インチ - タッチバーなし - 第4世代 - 2.8GHz - i7

こんなにあるんですね.

これらを, 高スペック順に並べてみたいと思います.

CPUベンチマークを見てみる

無料で配布されているアプリで計測すると結果がアップロードされてランキングとして公開されるようです.

Mac Benchmarks - Geekbench Browser

Mac の計測結果ランキングから「MacBookPro」 を高得点順に抽出していきます.

ランキングは「Single Core」と「MultiCore」と分かれているようです.

(2017-08-22 6:00 現在)

SingleCore

MacBook Pro (15-inch Mid 2017)
Intel Core i7-7920HQ @ 3.1 GHz (4 cores)
4648

MacBook Pro (13-inch Mid 2017)
Intel Core i7-7567U @ 3.5 GHz (2 cores)
4595

MacBook Pro (15-inch Mid 2017)
Intel Core i7-7820HQ @ 2.9 GHz (4 cores)
4491

MacBook Pro (15-inch Mid 2017)
Intel Core i7-7700HQ @ 2.8 GHz (4 cores)
4367

MacBook Pro (15-inch Retina Mid 2015)
Intel Core i7-4980HQ @ 2.8 GHz (4 cores)
4340

MacBook Pro (15-inch Retina Mid 2015)
Intel Core i7-4980HQ @ 2.8 GHz (4 cores)
4327

MacBook Pro (13-inch Mid 2017)
Intel Core i5-7360U @ 2.3 GHz (2 cores)
4323

MacBook Pro (13-inch Mid 2017)
Intel Core i5-7267U @ 3.1 GHz (2 cores)
4226

これを順番に先ほどの分かりやすい表記に置き換えます.

15インチ - タッチバーあり - 第7世代 - 3.1GHz - i7
13インチ - タッチバーあり - 第7世代 - 3.5GHz - i7
15インチ - タッチバーあり - 第7世代 - 2.9GHz - i7
15インチ - タッチバーあり - 第7世代 - 2.8GHz - i7
15インチ - タッチバーなし - 第4世代 - 2.8GHz - i7
13インチ - タッチバーなし - 第7世代 - 2.3GHz - i5
13インチ - タッチバーあり - 第7世代 - 3.1GHz - i5

特に特徴が見当たらないですが,

強いていえば「Core i7」が強いようにも見えます.

Multi-Core

MacBook Pro (15-inch Mid 2017)
Intel Core i7-7920HQ @ 3.1 GHz (4 cores)
15650

MacBook Pro (15-inch Mid 2017)
Intel Core i7-7820HQ @ 2.9 GHz (4 cores)
15291

MacBook Pro (15-inch Mid 2017)
Intel Core i7-7700HQ @ 2.8 GHz (4 cores)
14446

MacBook Pro (15-inch Retina Mid 2015)
Intel Core i7-4980HQ @ 2.8 GHz (4 cores)
14352

MacBook Pro (15-inch Retina Mid 2015)
Intel Core i7-4980HQ @ 2.8 GHz (4 cores)
14235

MacBook Pro (15-inch Retina Mid 2015)
Intel Core i7-4870HQ @ 2.5 GHz (4 cores)
13718

MacBook Pro (15-inch Retina Mid 2015)
Intel Core i7-4870HQ @ 2.5 GHz (4 cores)
13546

MacBook Pro (15-inch Retina Mid 2015)
Intel Core i7-4770HQ @ 2.2 GHz (4 cores)
12614

MacBook Pro (13-inch Mid 2017)
Intel Core i7-7567U @ 3.5 GHz (2 cores)
9612

MacBook Pro (13-inch Mid 2017)
Intel Core i5-7360U @ 2.3 GHz (2 cores)
9190

MacBook Pro (13-inch Mid 2017)
Intel Core i5-7267U @ 3.1 GHz (2 cores)
8955

同様に順番に置き換えて

15インチ - タッチバーあり - 第7世代 - 3.1GHz - i7
15インチ - タッチバーあり - 第7世代 - 2.9GHz - i7
15インチ - タッチバーあり - 第7世代 - 2.8GHz - i7
15インチ - タッチバーなし - 第4世代 - 2.8GHz - i7
15インチ - タッチバーなし - 第4世代 - 2.5GHz - i7
15インチ - タッチバーなし - 第4世代 - 2.2GHz - i7
13インチ - タッチバーあり - 第7世代 - 3.5GHz - i7
13インチ - タッチバーなし - 第7世代 - 2.3GHz - i5
13インチ - タッチバーあり - 第7世代 - 3.1GHz - i5

「クアッドコア」の15インチモデルの第7世代がはっきりと強いことがわかります.

13インチの「タッチバーあり/なし」の差はありません.

まとめようとする

強引にこれらから, Mac Book Pro プロセッサーオプション全体に対しての高スコア順の特徴を決めてしまいます.

1. 15インチ タッチバーあり
2. 15インチ タッチバーなし
3. 13インチ Core i7
4. 13インチ Core i5

これに従って, 高スコア順に最小構成の価格と共に並べてみると,

15インチ - タッチバーあり - 第7世代 - 3.1GHz - i7 ¥324,800
15インチ - タッチバーあり - 第7世代 - 2.9GHz - i7 ¥302,800
15インチ - タッチバーあり - 第7世代 - 2.8GHz - i7 ¥258,800
15インチ - タッチバーなし - 第4世代 - 2.8GHz - i7 ¥231,800
15インチ - タッチバーなし - 第4世代 - 2.5GHz - i7 ¥209,800
15インチ - タッチバーなし - 第4世代 - 2.2GHz - i7 ¥198,800
13インチ - タッチバーあり - 第7世代 - 3.5GHz - i7 ¥231,800
13インチ - タッチバーなし - 第7世代 - 2.5GHz - i7 ¥175,800
13インチ - タッチバーあり - 第7世代 - 3.3GHz - i5 ¥209,800
13インチ - タッチバーあり - 第7世代 - 3.1GHz - i5 ¥198,800
13インチ - タッチバーなし - 第7世代 - 2.3GHz - i5 ¥142,800

のようになりました.

メモリやグラフィック周りのオプションや利用方法で

大きく変わるだろうと思いますが,

ざっくり雰囲気を掴んでおくことができると思います.

スタッフさんの言ってたことは間違いではないと思いました.

ありがとうございます.


関連ワード:  今さら聞けない


Kotlin で static なメンバーをどう書くべきなのか?

092: Learning Kotlin – dealing with static-ness and (companion) objects costs – Fragmented

「companion object」だな. と思いながらとりあえず書く.


class Foo {
    companion object {
        val myVar = "testing"
    }
}

これを Kotlin から呼ぶ場合は,


Foo.myVar

ですが, Java から呼ぶ場合は,


Foo.Companion.getMyVar();

となり クソですね.

では, Jvm アノテーション を使います.


class Foo {
    companion object {
        @JvmField val myVar = "testing"
    }
}

この場合は Kotlin/Java それぞれ同じように呼べます.


// calling from Kotlin
Foo.myVar

// calling from Java
Foo.myVar;

なるべく入れたくないですよね Jvm なアノテーション.

const キーワード を使う


class Foo {
    companion object {
        const val myVar = "testing"
    }
}

以下, 共に問題ありません.


// calling from Kotlin
Foo.myVar

// calling from Java
Foo.myVar;

同様に, パッケージレベルでは,


class BottomSheetView {
    companion object {
        const val BOTTOM_SHEET_ANIMATION_TIMING = 500L
    }

    // ...
}


animation.setTiming(BottomSheetView.BOTTOM_SHEET_ANIMATION_TIMING)

Companion object is initialized from the static constructor of the containing class and plain object is initialized lazily on the first access to that object.

こんなかんじでしっくりくる記述って見つけにくい気がしません? Kotlin て.

“Static constants” in Kotlin | Kotlin Blog