[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2ch.scのread.cgiへ]
Update time : 05/15 06:36 / Filesize : 233 KB / Number-of Response : 941
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

データ構造,アルゴリズム,デザインパターン総合スレ 2



1 名前:デフォルトの名無しさん mailto:sage [2013/03/03(日) 18:10:11.63 .net]
【関連スレ】
3Dアルゴリズム全般
toro.2ch.net/test/read.cgi/tech/1164171086/
<集大成>アルゴリズム大辞典
toro.2ch.net/test/read.cgi/tech/1086272325/
アルゴリズム総合スレ in ム板
toro.2ch.net/test/read.cgi/tech/1217773415/

アルゴリズムとデータ構造 - Kaneko Lab.
ttp://www.kkaneko.com/adp/algo/index.html
アルゴリズムとデータ構造 - ソースコード探険隊
ttp://www.codereading.com/algo_and_ds/
各種アルゴリズムの C++ による実装 - Spaghetti Source
ttp://www.prefield.com/algorithm/
アルゴリズムとデータ構造 - プログラミングスレまとめ in VIP
ttp://vipprog.net/wiki/algo_and_data_const.html

923 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 15:23:50.62 ID:OcRpngHJ.net]
.>>916
さっぱりわかんね
要するにビットマップで管理するってことか?
勝手にやれとしか

924 名前: ◆tAo.kQ2STk mailto:sage [2016/05/04(水) 16:00:56.01 ID:p+LvbHBp.net]
>>923
要するに、32ビットのポインタで64GiBの領域を使えるって事

普通は64ビット版のプログラムはポインタを64ビットに拡張するんだけど、
木構造のようなポインタを多用するデータ構造の場合は
32ビット版と比較してメモリの効率が半減するデメリットがある。

この方法だと、メモリ効率を落とさずに4GiBを超えるメモリ領域を同時に使える。

既出かどうか(或いはもっと良い方法があるか)知りたかった

925 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 16:38:51.07 ID:WruTeJWf.net]
アロケータが確保する分にはいいとして、任意のポインタをどう表現するのかねぇ

926 名前: ◆tAo.kQ2STk mailto:sage [2016/05/04(水) 17:24:52.95 ID:p+LvbHBp.net]
任意のポインタを、アドレスを4ビット右シフトした値として表現する。
ポインタが指す先は常にチャンク境界(16バイト)にアラインメントされてて、
ポインタを使うときは4ビット左シフトしてアドレスに変換してから使う。
「ポインタを変数とかに代入してとっておくこと」と「ポインタをデリファレンスして他所から値を持ってくること」を分けて考えてる。
1バイトが128ビットのマシンだと思えばそんなに変な事ではないかと。

https://github.com/pixie-grasper/operating-system/blob/master/kernel/objects.asm

927 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 17:35:44.12 ID:ypA5W//n.net]
>>916
よくわかんねーけどやめたら

928 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 17:37:59.32 ID:WruTeJWf.net]
>1バイトが128ビットのマシンだと思えばそんなに変な事ではないかと。

やっぱりそうなるんだ。
ポインタのサイズを節約するために配列や構造体にえらい無駄が出るね。

929 名前: ◆tAo.kQ2STk mailto:sage [2016/05/04(水) 17:56:42.05 ID:p+LvbHBp.net]
> ポインタのサイズを節約するために配列や構造体にえらい無駄が出るね。
OS内に何らかの言語のインタプリタを実装して、
所謂ユーザーモードで動くプログラムは全てその言語で走る、というのを考えてる。
全てがシェルスクリプト、みたいな感じ。

で、そのインタプリタは数と文字列とハッシュを扱えれば良いと思っていて
ハッシュをAVL、文字列をrope構造なんかの木構造で実装するとすれば
16バイトってサイズは各ノードに情報を格納するのに丁度いいサイズではあるのよ。

ropeってのはこれな。
https://en.wikipedia.org/wiki/Rope_(data_structure)

その考えで行くと、あんまり無駄は出ないんじゃないかなとは思う。
勿論実行速度は多少犠牲になるけどね。

930 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 18:36:41.93 ID:VTHyhTWb.net]
>>916
FATの考え方だね。
メモリ管理でも応用できる気はするけど。

931 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 19:24:52.99 ID:WruTeJWf.net]
OSというからmallocとかの話かと思ったら、インタプリタ作ってんのか。
確かにLISPのConsCellの持ち方に似てはいるが。



932 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 20:55:58.55 ID:I71ZCmWZ.net]
16バイト境界でしか返さないmallocを作って4ビットシフトするのとはどう違うのか。

WindowsでいうGlobalAllocしてHANDLEを返して、実際に使うときにはGlobalLockでアドレスにするのと
同じような気がするのだが。

933 名前: ◆tAo.kQ2STk mailto:sage [2016/05/04(水) 22:32:04.59 ID:p+LvbHBp.net]
>>931
> OSというからmallocとかの話かと思ったら、インタプリタ作ってんのか。
正確には、OSが内部で使うアロケータの話。
malloc/freeとは仕様が違うっていうか前提からして噛み合わない。関数が返す領域のサイズが固定だから。
とここまで書いて、「常に1チャンクだけ確保して返す」とは明確には言ってなかったことに気付いた。ごめんよ。
incしてorするコードが根底にあるから忘れてたわ。

>>932
> 16バイト境界でしか返さないmallocを作って4ビットシフトするのとはどう違うのか。
16バイト境界でしか返さないって条件だと、16バイトの確保の為に追加で8バイトとか必要になる。
malloc/freeの仕様上、どうしても何バイト確保してあるかって情報をヒープ側に保持する必要があるからね。
開放する時点で何バイト確保されているかが自明で、かつ固定長ならば1ビットで済む。

> WindowsでいうGlobalAllocしてHANDLEを返して、実際に使うときにはGlobalLockでアドレスにするのと
操作の意味はそれと同じかも。中身は全然違うだろうけど。

934 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 23:32:14.08 ID:I71ZCmWZ.net]
なんか似たような話を最近見た気がしたがこれだった。
codezine.jp/article/detail/9325

935 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 23:54:19.41 ID:NIqCX6OH.net]
ホント最近の記事だな。

936 名前:デフォルトの名無しさん [2016/05/05(木) 20:14:53.64 ID:Rts6L3H5.net]
浅野孝夫の『情報の構造』の赤黒木のプログラムがすごすぎる。

名人芸の域に達している。

937 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 02:45:47.47 ID:iu7snuDE.net]
>>916
ObjectIDに、32bitメモリアドレスを使っている言語では、

使わない下位4bitを、nil, undefined, true/false などに使っている

938 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 00:38:26.53 ID:fVgrqlwf.net]
gof本の「オブジェクトのクラス」、「パラメータ化」という表現がよくわからん

939 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 09:44:21.83 ID:vQZ70y3E.net]
>>938
よくわからん、じゃねえよ
教えてくださいってちゃんと言えよカス

940 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 14:50:16.86 ID:bh4nZJj2.net]
クラスのインスタンスを引数として渡すってことじゃねーの。
つまりポリモーフィズムよ。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<233KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef