Movatterモバイル変換


[0]ホーム

URL:


はてラボはてな匿名ダイアリー
ようこそ ゲスト さんログインユーザー登録

「スレッドセーフ」を含む日記RSS

はてなキーワード:スレッドセーフとは

2025-11-06

anond:20251106215727

ほぉ。まるで「ライブラリ移植なんて余裕っすよ」と言わんばかりの口ぶりだな。お前、自己放尿レベル気持ちよくなってるが、現実を何も理解してねぇぞ。

いか。「同じ機能移植するだけ」って発想がそもそも低能証拠だ。Pythonの強みは言語としての表面構文じゃなく、生態系として積み重なった最適化と実績だ。

NumPyやPandas、Scikit-learn、PyTorch、全部C/C++Fortran実装Pythonバインディングで何層もラップしてる。

しかメモリ管理スレッドセーフティBLAS最適化GPUオフロード、それらを組み合わせたとき挙動の安定性まで含めてライブラリって呼ぶんだよ。

「決まったインターフェース移植するだけ」とか言ってる時点で、頭の中で想定してるライブラリが、せいぜい数千行のユーティリティレベルだろう。

企業が内部で作るって?そりゃ車輪の再発明だよ。しかも、Python10年かけて磨き上げたアルゴリズム最適化を、数ヶ月の業務開発で再現できるとでも?寝言は夜だけにしろ

あと、「いまどきの言語ならそんな大変じゃない」って、まるでNode.jsがCythonやNumbaのようなネイティブ統合の層を持ってるかのように錯覚してるのが痛い。

V8JIT高速化できるのはせいぜいスクリプトレベルの話。数値演算メモリアクセススレッド制御最適化できる数学的基盤の厚みがまるで違うんだよ。

Nodeで同じことをやろうとしたら、JSからC++アドオン叩いて、型変換のコスト死ぬだけ。

まり、「移植できるだろ」って発言は、Python生態系を単なるコード群だと思ってる愚か者自己放尿なんだよ。

それは「パルスジェットなら自作できるだろ」と言ってる鉄クズコレクターと同レベル。動くかもしれんが、効率も精度も再現性も自己放尿レベル

Node.js厨が「Pythonライブラリ移植できる」とか言うのは、「俺でもベートーベン交響曲ぐらい耳コピできる」と言ってる音感ゼロ自己放尿芸だ。

見てる側からすりゃ笑いのネタにもならねぇ。

Permalink |記事への反応(1) | 22:02

このエントリーをはてなブックマークに追加ツイートシェア

2025-03-25

anond:20250325104056

ネストされたデータでも、差分けが管理される。

「丸ごと再構築」「丸ごとデータコピー」のような明らかに効率が悪い処理は行われない。

それでも

副作用がないコードよりも効率が悪い」

といえばそうだが自動的スレッドセーフになるなどのメリットも大きい。

トレードオフだよ。

Permalink |記事への反応(1) | 10:50

このエントリーをはてなブックマークに追加ツイートシェア

anond:20250325102011

それはPython場合

実装言語によって違う。

Clojure辞書型についてAI解説してもらった。

Clojureのimmutable persistent datastructureについて

Clojureのimmutable persistent datastructureは、データが変更されるたびに新しいバージョン作成し、元のデータ構造を保持する仕組みを備えています。この特徴により、データの不変性と効率的メモリ使用が実現されています。以下では、Clojure代表的データ構造であるmap型(hash-map)を例に、その仕組みを解説します。

Clojuremap型と不変性

Clojureのhash-mapキーと値のペアを保持するデータ構造であり、以下の特徴を持っています

具体例:キーと値の追加

以下に、Clojureキーと値を追加する操作(assoc関数)を例として説明します。

(deforiginal-map {:a 1 :b 2})(def updated-map (assocoriginal-map :c 3))

元のmap (original-map):

{:a 1 :b 2}

新しいmap (updated-map):

{:a 1 :b 2 :c 3}

この操作では、元のmapは変更されず、新しいmap作成されます。ただし、効率化のために、元のデータ構造(:a 1と:b 2)はそのまま再利用されます。新しく追加された:c 3のみが新しいノードとして構築されます

内部実装:Hash ArrayMapped Trie (HAMT)

Clojuremap型は、Phil Bagwellによって提案されたHash ArrayMapped Trie (HAMT)というデータ構造を基盤にしています。この仕組みでは以下が行われます

利点

まとめ

Clojureのimmutable persistentmap型は、不変性と効率性を両立させる設計により、信頼性の高いデータ操作可能にしています。これらの特徴は特に並列処理やトランザクション管理などで有用です。

Permalink |記事への反応(0) | 10:34

このエントリーをはてなブックマークに追加ツイートシェア

2021-06-18

anond:20210618140722

そのnodesのデータ型が分からんからどれが正解か分からん

っていうか速度とかメモリ使用量って言語依存する場合もあるし、何が正解かなんて結局分からん

スレッドセーフなのはどの型? とかも考えだすとデータ構造知識より標準ライブラリ精通しているかの方が重要になってくる。そしてそれは暗記。

なので、アルゴリズムデータ構造という一般的知識時間を費やすのは半日程度でいいんじゃないかな。それ以上やるのは趣味

Permalink |記事への反応(2) | 15:26

このエントリーをはてなブックマークに追加ツイートシェア

 
ログインユーザー登録
ようこそ ゲスト さん
Copyright (C) 2001-2026 hatena. All Rights Reserved.

[8]ページ先頭

©2009-2026 Movatter.jp