2025-08-20

ZwideのSA11というN150なWindows タブレットを入手した

Surface Goがもっと安ければ検証用のPCとして買おうと思ってたのだが、Zwideという会社のSA11が安かったので買ってみた。

ZwideはどうもODMをやっている深圳の会社っぽいけど、最近は自社ブランドのPCをいくつか作っている。というかどこかでみたことあるようなデザインのPCがいくつかあるので、そういう会社何でしょうってことだろう。

このPC自体は、世の中で出回っているN100とかを採用したPCでなくTwin LakeなN150だが、Twin Lake自体がAlder Lake-Nの改良版でしかないので、消費電力的に優位なだけでほぼN100と変わらない (らしい)。同じIntel 7での製造ってことなので、今後はN100がN150に置き換わるのだろう。

自分は試していないのだが、Linuxを使うとタッチパネルのドライバに難があって、タッチしたポイントが正しくないらしい。自分はLinuxでのテスト環境としては使わないけど、Windows以外を使うときは要注意みたい。

あと、この値段でUSI 2.0のスタイラスペンが使えるというのは大きなメリット。Amazon Fire HD 10用のスタイラスペンがUSI 2.0準拠なので試しに使ってみたところ、ちゃんと使用可能でした。

2025-08-18

Switch2 の Web ブラウザ

数年前にNintendo Seattle (マイクロソフトの本社の敷地に隣接する任天堂のアメリカ拠点) のオープンポジションでChromiumがらみのものがあったので、Switch2 はもしかして、WebKitではなくて、Chromium/Blinkベースになるかと思ってたけど、結局は、

Mozilla/5.0 (Nintendo Switch; WifiWebAuthApplet)
AppleWebKit/613.0 (KHTML, like Gecko)
NF/7.0.3.8.16 NintendoBrowser/5.2.0.35533

ということで、WebKitベースのままだったのだが、Switchも含めて一番よくわからないのは、

証明書のダイアログが実装されていること。これはたぶんNetFrontの機能なんだろうな。なおJavaScriptエンジンのJITは無効になっている模様 (ゲームとかだと有効にできるかもだがSDK次第でしょう)

2025-07-22

Iterator.size_hint

Iteratorトレイトsize_hintというメソッドがあるけど、Iterator.collect()Vecにするときは、このsize_hintを実装するかしないかでVecの初期キャパシティが決まるので、collectのパフォーマンスに影響があるということを今日初めて知った。

Ref: https://github.com/unicode-org/icu4x/pull/6764 / https://bugzilla.mozilla.org/show_bug.cgi?id=1974993

2025-05-24

TemporalのV8での実装

GoogleのInternatiolization teamに所属するShane CarrがRust Weekでプレゼン (2:50:00くらいから) してるんだが、

GoogleのV8 (Chromium等で使われるJavaScript Engine) がTemporalの実装のバックエンドにICU4Xを使うことになりそうだ。そもそもShaneはICU4XのChairだし、Temporalの仕様策定もおこなっている人なので、そういうことなんだろう。

Firefoxも現在はICU4X 1.5ベースの実装が使えるようになっているが、次のサイクルで自分がICU4X 2.0ベースに変更する予定だが、SpiderMonkeyとV8の実装はそろそろ固まりそう。ただWebKitどうするんだろ。ICU4Cベースでどうにかするんですかね...

2025-01-12

HiFive Premier P550を手に入れた

SiFive P550というコア使ったHiFive Premiver P550というボードを入手した。メモリ16GBが日本円で約60000円強。前買ったUnmatchedはドルだと$250高かったけど、円的にはそんなに変わらず。円安...

Install Ubuntu to SSD

確かまだPremier P550対応のDTSなどLinuxのコードはメインラインには入ってないけど、eMMCにはUbuntu 24.04 TLSがプレインストールされていてシリアルコンソール経由でログインすることが出来るが、SATAポートがこのボードに存在しているので、SSDにインストールすることにする

イメージを取得

https://github.com/sifive/hifive-premier-p550-ubuntu/releases/tag/2024.11.00にUbuntuのイメージが置かれているので、これを入手する

ディスクに書き込む

まずxzで圧縮されているので、展開

xz -d ubuntu-24.04-preinstalled-server-riscv64.img.xz

SSDが/dev/sdaだとして、ddコマンドでディスクに書き込む

dd if=ubuntu-24.04-preinstalled-server-riscv64.img of=/dev/sda bs=1M

この状態でリブートするとSSDが(hd0)になるので、SSD経由でブートする。ただし、eMMCはこのイメージを書き込んであるっぽいので、GPTのUUIDが全部一緒になるので、好みにおおじてGPTを変えてupdate-grubかけたほうがよい

Unix Bench

------------------------------------------------------------------------
Benchmark Run: Sun Jan 12 2025 06:34:27 - 07:02:47
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       12927124.9 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2641.1 MWIPS (9.9 s, 7 samples)
Execl Throughput                               1176.6 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        229490.7 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           72809.9 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        374429.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                              475331.9 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  31965.9 lps   (10.0 s, 7 samples)
Process Creation                               2703.0 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   3510.5 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   1154.5 lpm   (60.0 s, 2 samples)
System Call Overhead                         590916.1 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   12927124.9   1107.7
Double-Precision Whetstone                       55.0       2641.1    480.2
Execl Throughput                                 43.0       1176.6    273.6
File Copy 1024 bufsize 2000 maxblocks          3960.0     229490.7    579.5
File Copy 256 bufsize 500 maxblocks            1655.0      72809.9    439.9
File Copy 4096 bufsize 8000 maxblocks          5800.0     374429.0    645.6
Pipe Throughput                               12440.0     475331.9    382.1
Pipe-based Context Switching                   4000.0      31965.9     79.9
Process Creation                                126.0       2703.0    214.5
Shell Scripts (1 concurrent)                     42.4       3510.5    828.0
Shell Scripts (8 concurrent)                      6.0       1154.5   1924.2
System Call Overhead                          15000.0     590916.1    393.9
                                                                   ========
System Benchmarks Index Score                                         463.6

------------------------------------------------------------------------
Benchmark Run: Sun Jan 12 2025 07:02:47 - 07:31:09
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       51689178.8 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    10560.7 MWIPS (9.9 s, 7 samples)
Execl Throughput                               4324.4 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        758792.3 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          282576.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1383510.8 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1893625.3 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 218013.6 lps   (10.0 s, 7 samples)
Process Creation                               9020.4 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   9097.3 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   1184.8 lpm   (60.1 s, 2 samples)
System Call Overhead                        2362850.1 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   51689178.8   4429.2
Double-Precision Whetstone                       55.0      10560.7   1920.1
Execl Throughput                                 43.0       4324.4   1005.7
File Copy 1024 bufsize 2000 maxblocks          3960.0     758792.3   1916.1
File Copy 256 bufsize 500 maxblocks            1655.0     282576.0   1707.4
File Copy 4096 bufsize 8000 maxblocks          5800.0    1383510.8   2385.4
Pipe Throughput                               12440.0    1893625.3   1522.2
Pipe-based Context Switching                   4000.0     218013.6    545.0
Process Creation                                126.0       9020.4    715.9
Shell Scripts (1 concurrent)                     42.4       9097.3   2145.6
Shell Scripts (8 concurrent)                      6.0       1184.8   1974.6
System Call Overhead                          15000.0    2362850.1   1575.2
                                                                   ========
System Benchmarks Index Score                                        1591.8

大体Unmatchedの2倍くらいの速度