sudo add-apt-repository ppa:linuxuprising/java sudo apt-get install oracle-java11-installer
Ubuntu 18.04にJava11をインストール
言語間の速度比較
お知らせ
この記事の最新版 (2023/5版) が下記にあります。こちらもご参照ください。記事
シングルスレッドでほぼCPUだけを使う単純なアルゴリズムで1億までの素数を求めるプログラムを作成。その実行時間と最大使用メモリ量を測定した。 ソースコードはここに保存。| 言語 | 時間 (sec) | 最大使用物理メモリ(MiB) | 算出素数格納コンテナ | 補足情報 | 感想 |
|---|---|---|---|---|---|
| C | 12.6 | 24.1 | 固定長配列 | gcc 8.3.0 最適化-O3 |
- |
| C++ | 64.8 | 36.0 | std::vector | gcc 7.3.0 最適化なし(-O0でビルド) |
- |
| C++ | 12.7 | 36.0 | std::vector | gcc 7.3.0 最適化(-O3でビルド) |
最適化するとやはりかなり速くなる。メモリ使用量も圧倒的にすくない |
| JAVA | 17.2 | 215.5 | ArrayList | OpenJDK 10.0.2 | C/C++の約1.5倍の実行時間。これまでの経験ともだいたい整合する |
| Kotlin | 17.2 | 236.5 | List | Kotlin 1.3.61 | Javaと同等。コードの書きやすさを考えると悪くない選択肢 |
| Scala | 20.1 | 2023.0 | mutable.ArrayBuffer | Scala 2.11.12 | 速度面ではJavaと比較して少し劣る程度だが、メモリ使用量がJavaの約10倍、C++の100倍近い。 |
| Golang | 49.2 | 136.2 | slice | go1.11.6 | 予想より速くない。メモリ使用量もJavaの半分程度で、この結果だけだと使いみちが中途半端となるかも。 |
| Node.js | 23.2 | 184.8 | Array | v8.10.0 | JavaやScalaに匹敵。予想より速い。メモリ使用量もそれほど多くない。 |
| PHP | 151.2 | 196.7 | array | PHP 7.2.10 | 特に良いところもないような。無理に使うような言語ではないと思う。 |
| Python | 451.8 | 3235.2 | list | 2.7 | 圧倒的に遅い。メモリ使用量も半端ない。でも、憎めないやつ。ほんとはこういう用途ではNumPyとか使うべきなのかな。後日numbaでも試してみたい。 |
| Python3 | 592.8 | 238.3 | list | 3.6.7 | メモリ使用量はPython2に比べて大幅にすくないものの、実行速度がさらに遅くなった |
評価環境
- Intel Core i7 8559U (2.7GHz)
- DDR4 2400MHz 32GiB
- Ubuntu 18.04 LTS
ext4でフォーマットされたパーテションに登録されている不良ブロックを表示する例
# dumpe2fs -b /dev/sdc dumpe2fs 1.44.1 (24-Mar-2018) 540052526 540052866
VNCをXserverにxfceを起動する
1: vnc4serverをインストール
2:.vnc/xstartupに以下を記載
#!/bin/sh startxfce4 &3:.vnc/xstartupに実行権限を付与 3: 以下のようなコマンドでVNCサーバーを起動
vncserver :0 -geometry 1280x800
xcodeのバージョンの切り替え方
環境変数での例
https://developer.apple.com/download/more/
export DEVELOPER_DIR=/Applications/Xcode-9.4.app/Contents/Developer確認方法
xcode-select -print-pathその他の方法
sudo xcode-select -s /Applications/Xcode-9.4.app/Contents/DeveloperXcodeは以下からダウンロード可能
https://developer.apple.com/download/more/
Diskのblock, sectorサイズなどの大きさ
/proc/partitionsのblockは、1024B単位
# cat /proc/partitions major minor #blocks name 8 0 117220824 sda 8 1 1024 sda1 8 2 2097152 sda2 8 3 16777216 sda3 8 4 16777216 sda4 8 5 16777216 sda5 8 6 64788480 sda6 8 16 3907018584 sdbgdiskのsectorは、下記で、青字にしたように表示されているが512B単位が多い
Disk /dev/sda: 234441648 sectors, 111.8 GiB
Model: KINGSTON SV300S3
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 877EDACD-6579-48A8-ACBD-7F4DAC5E7040
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 234441614
Partitions will be aligned on 2048-sector boundaries
Total free space is 4973 sectors (2.4 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 4095 1024.0 KiB EF02
2 4096 4198399 2.0 GiB 8300
3 4198400 37752831 16.0 GiB 8300
4 37752832 71307263 16.0 GiB 8300
5 71307264 104861695 16.0 GiB 8200
6 104861696 234438655 61.8 GiB 8300
登録:
投稿 (Atom)