>>726
ファイルフォーマットというか、
Gitのキモはオブジェクトをハッシュでツリーにして管理すれば全て行けたって事だろ。
そして末端のファイルはblobだけど(既に言ったが)ディレクトリやJSONでもいいし、
中間のファイルフォーマットも実はどうでも良くて、
結局はメモリ上のオブジェクトツリーをどうやってファイルシステムにマッピングするかでしかないんだよ。
traverseさえ出来れば何も問題ないわけでさ。
例えば今のGitはハッシュ上2文字でディレクトリを作って分けてるが、
実は3文字の方が速い場合とかもあるはずだが、そこで階層を正しく切ってないと対応出来ないだろ。
まあこれについてはGitはおそらく対応出来てて、traverseエンジンは多分一つしかないから、それを交換すればいいだけ。
多分DBだとフラットの方が速い。(DB内に高性能のハッシュが実装されてる、というかDBってそれがキモなので)
或いは昔のNTFS(2000かXPの頃)だと、ディレクトリ内にハッシュがなかったので、
同一ディレクトリに20,000個とかファイルを置くととんでもなく遅くなったから、上8文字とか多めにしないと死ぬ。
この辺、つまり上何文字でディレクトリ切った方が速いかは、その下の階層のハッシュの実装によるでしょ。
こういうとき、ちゃんと階層を切ってれば、簡単に切り替えられる、ということ。
そんなの変数で~#defineで~ってのがC流かもしれんが、そういう事じゃないんだよ。
そこでぶった切ることによって、その先が、ファイルシステムであっても、ネットワークであっても、DBであっても、圧縮されてても、
要はtraverseさえ出来れば何でもいい、同じコードで走行出来るし、設定も自由に変えられるし、という自由度が得られる。
代償は関数コールが一段増えることだが、今はこれは問題にされないわけでね。
まあとにかく、後日にしようぜ。
ソフトウェアの階層の切り方についてはゆっくり考えてみてくれ。
基本的には、上記の通り、関数コールが一段増えるだけで無限の自由度が得られるだけ。
Cの場合は#defineマクロで実体を呼ぶかラッパを呼ぶか簡単に切換可能なので、
実際どうするかはともかく、ソースコードはメンテしておくべきだよ。
探検
Git 18
■ このスレッドは過去ログ倉庫に格納されています
728デフォルトの名無しさん (ワッチョイ 497b-vCJ4)
2022/11/01(火) 00:01:33.71ID:Jzc3CN/20■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【ヒグマ】焼却施設が限界 駆除数17倍で処理に追われる自治体 1頭焼却に灯油100リットル 作業追いつかずに腐敗進み、埋めるケースも [ぐれ★]
- 住宅ローン金利、大手4行で「最高水準」に…10年固定の基準金利4.40-5.15% [蚤の市★]
- 【卓球】石川佳純の最新姿にネット騒然「美人」「綺麗」「アイドルかと」 引退表明から2年半… ミラノ五輪フジテレビSPキャスター就任 [冬月記者★]
- 今後50年間、毎年100万人ずつ人口が減る…「少子化対策」の失敗で日本が迎える「死ぬまで搾取」というヤバい未来 ★7 [ぐれ★]
- 「特に中国は事態悪化を控えるべき」 日中対立巡りフランス高官言及 [蚤の市★]
- 「怒りに震えて涙が出た」 同性婚認めず「合憲」判断に原告が反発 「差別的な判決だ」 ★3 [ぐれ★]
- 吉野家、とんでもねえ異物混入。😰終わりやね… [153490809]
- 高市応援団、急に消える。一体何故🤔 [256556981]
- 今泣いて何年か後の自分🌃💃🏻🏡
- 【悲報】女「夫が寿司屋で蟹コースをご馳走してくれたけど体調悪くて少し食べて帰った。こういうのがもう無理」 [802034645]
- 悪魔系人気Vtuberでびでび・でびる様、社畜の尻尾を踏んで炎上→3482万 [903292576]
- Z世代「飲み会参加するくらいなら会社辞めるわ」→20万いいね
