フランスのコートダジュール大学とInstitut Universitaire de Franceに所属する研究者らが発表した論文「Leidenfrost jets」は、液体の噴流(液体ジェット)が高温の表面に触れることなく跳ね返る現象が新たに発見された研究報告である。
液体ジェットが熱い表面に“一切触れることなく跳ね返る”新発見 フランスの研究者らが発表:Innovative Tech - ITmedia NEWS
熱々のフライパンに水滴を落とすと、水滴がコロコロと転がり回る様子を見たことがあるだろうか。これは「ライデンフロスト効果」と呼ばれる現象で、高温の表面に落ちた液体が、瞬時に気化して表面との間に蒸気の層を作り、その蒸気のクッションによって液体が浮遊する仕組みである。
液体ジェットが熱い表面に“一切触れることなく跳ね返る”新発見 フランスの研究者らが発表:Innovative Tech - ITmedia NEWS
⇧ 液体が空中浮遊していたとは...
蒸気の層のクッション力、半端ない...
Pythonの処理を高速化するのにC言語に依存させるしかないんか...
Pythonが遅いという話が、ネット上で見受けられるわけですが、
⇧ とあり、「Cython」のような「C言語」の機能を利用することがパフォーマンスを上げるにあたっての最適解のような話が出ていらっしゃる...
Wikipediaによりますと、
Cython(サイソン)は、C言語によるPythonの拡張モジュールの作成の労力を軽減することを目的として開発されたプログラミング言語である。その言語仕様はほとんどPythonのものと同じ (上位互換) だが、Cの関数を直接呼び出したり、C言語の変数の型やクラスを宣言できるなどの拡張が行われている。
このようにCとPythonをシームレスに取り混ぜて扱うCythonの利点の一つは、既にあるPythonコードを、いくつかの静的な型 (static type) を宣言して律速なループをうまく書き直すだけで、コンパイル後のコードの実行速度がC言語並みに高速化されることである。複雑なC言語インターフェイスを使う必要はない。コーディングのしやすさと可読性はPythonと変わらない、つまりPythonicなままである。
CythonはPyrex言語から派生したもので、Pyrexに比べると様々な機能や高度な最適化が加えられている。
⇧ とありますと。
でも、「Python」が遅いって話が出てくるってことは、「Cython」などの「C言語」の機能を導入できていないってことだと思うからして、
『複雑なC言語インターフェイスを使う必要はない。コーディングのしやすさと可読性はPythonと変わらない、つまりPythonicなままである。』
に対する疑念が湧き上がるわけですな...
後は、
⇧「メモリ安全性」を気にせずコードディングが可能なのかも気になるところですな。
いくら、パフォーマンスが向上したとて、システムがダウンする可能性を作り込むリスクが高くなるなら躊躇せざるを得ないんよね...
逆に言うと、「C言語」の経験が豊富なエンジニアにとっては、「Python」の開発が向いているということになるんかね?
何やら、
⇧『爆速Python』なる書籍も出てきてるからして、「Python」が遅いのは周知の事実といった感じなんですかね...
Pythonのバージョンは、
⇧ 2024年11月20日(水)時点では、3.13までがLTSの安定板といった感じなのかね?
PythonでGit操作のできるライブラリは、どんなものがあるのか
まぁ、余力があれば、「Cython」とか導入して「Python」を「爆速」にしたいところなのだが、「Git」の操作を「Python」で行いたいということで、「Python」で利用できる「Git」の操作ができるライブラリにはどんなものがあるのか?
statckoverflowでは、
⇧「GitPython」なるものが紹介されていたのですが、他にどんなものがあるのか、ChatGPTに質問してみたところ、以下の回答が返ってきた。
No | ライブラリ | 性能 | メモリ安全性 | コメント |
---|---|---|---|---|
1 | GitPython | 中 | 高 |
|
2 | pygit2 | 高 | 中 | |
3 | dulwich | 中 | 高 | |
4 | gitdb | 中 | 高 |
|
5 | subprocess | 高 | 低 |
|
6 | pygit | 中 | 中 |
|
ネット上の情報によりますと、
⇧「GitPython」の「STAR」の数が一番多いっぽい。
とりあえず、「GitPython」を使うようにしておくのが無難な感じなんかな?
ただ、
⇧「メンテナンスモード」らしいので、新しい機能の開発は行われないと。
「git config」コマンド相当のことが必要なので、ChatGPTに改めて質問したところ、
⇧ という回答が返ってきた。
何か、
⇧ Python標準のライブラリ「subprocess」で十分な感じという気がしなくもない。
gitコマンド系なら、「OS(Operation System)」に依存とか無さそうな気がするので、「クロスプラットフォーム」の問題とかも気にしなくて良さそうな気がしますしな。
あんまり、非標準のライブラリを入れても運用が大変になりそうですし...
実際の挙動を確認してみないと何とも言えませんが...
毎度モヤモヤ感が半端ない…
今回はこのへんで。