質問編集履歴

7

Perlについて調べたことを反映

2016/04/15 13:24

投稿

raccy
raccy

スコア21737

test CHANGED
File without changes
test CHANGED
@@ -38,9 +38,9 @@
38
38
 
39
39
  |Erlang|__不明__|__インクリメンタルGC?__|
40
40
 
41
- |Perl5|__○?__|__不明__|
41
+ |Perl5|[__○__](http://stackoverflow.com/questions/2972021/garbage-collection-in-perl)|[__×__](http://stackoverflow.com/questions/2972021/garbage-collection-in-perl)|
42
42
 
43
- |Perl6(Rakudo)|__不明__|__不明__|
43
+ |Perl6(MoarVM)|__不明__|[世代別GC](http://www.moarvm.org/features.html)|
44
44
 
45
45
  |Python(CPython)|[○](http://docs.python.jp/3/extending/extending.html#reference-counts)|[世代別GC](http://docs.python.jp/3/library/gc.html#module-gc)|
46
46
 
@@ -76,6 +76,8 @@
76
76
 
77
77
  ※ Rustの参照カウントは標準ライブラリとして提供されます。
78
78
 
79
+ ※ MoarVMはPerl6のVM。RakudoもMoarVMを使っているはず。
80
+
79
81
 
80
82
 
81
83
  間違い等があれば、ご指摘下さい。「無い」ことを証明するのは悪魔の証明になり得るため、しばらくして指摘が無ければ、不明部分は「×」にしていきたいと思います。世代数も調べていった方が良いかちょっと悩んでいます(世代別GCでは無い場合は1世代しかないという扱いをするとか)。

6

D追加、ついでに言語をネイティブ->VM->インタプリンタ順にした

2016/04/15 13:24

投稿

raccy
raccy

スコア21737

test CHANGED
File without changes
test CHANGED
@@ -16,6 +16,18 @@
16
16
 
17
17
  |C++(スマートポインタ)|[○](http://en.cppreference.com/w/cpp/memory/shared_ptr)|×|
18
18
 
19
+ |D|__不明__|[世代別GC](http://dlang.org/spec/garbage.html)|
20
+
21
+ |Go(gc)|__不明__|[__よくわからない、解説求む__](https://blog.golang.org/go15gc)|
22
+
23
+ |Go(gccgo)|__不明__|[__未実装?__](http://golang.jp/tag/gccgo)|
24
+
25
+ |Rust|[○](https://www.rust-lang.org/faq.html#is-rust-garbage-collected)|[×](https://www.rust-lang.org/faq.html#is-rust-garbage-collected)|
26
+
27
+ |Swift|[○](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AutomaticReferenceCounting.html)|[__×__](https://www.quora.com/Why-doesnt-Apple-Swift-adopt-the-memory-management-method-of-garbage-collection-like-in-Java)|
28
+
29
+ |Haskell(GHC)|__不明__|__世代別GC?__|
30
+
19
31
  |Java(Oracle)|__不明__|[世代別GC](https://docs.oracle.com/javase/jp/8/docs/technotes/guides/vm/gctuning/introduction.html)+[コンカレントGC](https://docs.oracle.com/javase/jp/8/docs/technotes/guides/vm/gctuning/cms.html)+[G1](https://docs.oracle.com/javase/jp/8/docs/technotes/guides/vm/gctuning/g1_gc.html)|
20
32
 
21
33
  |Java(OpenJDK)|__不明__|__不明__|
@@ -24,7 +36,7 @@
24
36
 
25
37
  |C#(Mono)|__不明__|__不明__|
26
38
 
27
- |Haskell(GHC)|__不明__|__世代別GC?__|
39
+ |Erlang|__不明__|__インクリメンタルGC?__|
28
40
 
29
41
  |Perl5|__○?__|__不明__|
30
42
 
@@ -43,16 +55,6 @@
43
55
  |JavaScript(JavaScriptCore)|__○?__|__M&S?__|
44
56
 
45
57
  |JScript(Chakra)|__○?__|__M&S?__|
46
-
47
- |Go(gc)|__不明__|[__よくわからない、解説求む__](https://blog.golang.org/go15gc)|
48
-
49
- |Go(gccgo)|__不明__|[__未実装?__](http://golang.jp/tag/gccgo)|
50
-
51
- |Rust|[○](https://www.rust-lang.org/faq.html#is-rust-garbage-collected)|[×](https://www.rust-lang.org/faq.html#is-rust-garbage-collected)|
52
-
53
- |Erlang|__不明__|__インクリメンタルGC?__|
54
-
55
- |Swift|[○](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AutomaticReferenceCounting.html)|[__×__](https://www.quora.com/Why-doesnt-Apple-Swift-adopt-the-memory-management-method-of-garbage-collection-like-in-Java)|
56
58
 
57
59
 
58
60
 

5

Swiftを追加

2016/04/15 13:13

投稿

raccy
raccy

スコア21737

test CHANGED
File without changes
test CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
  |Erlang|__不明__|__インクリメンタルGC?__|
54
54
 
55
- |Swift|__不明__|__不明__|
55
+ |Swift|[○](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AutomaticReferenceCounting.html)|[__×__](https://www.quora.com/Why-doesnt-Apple-Swift-adopt-the-memory-management-method-of-garbage-collection-like-in-Java)|
56
56
 
57
57
 
58
58
 

4

Rustについて追加

2016/04/14 10:21

投稿

raccy
raccy

スコア21737

test CHANGED
File without changes
test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
  |Go(gccgo)|__不明__|[__未実装?__](http://golang.jp/tag/gccgo)|
50
50
 
51
- |Rust|__不明__|__不明__|
51
+ |Rust|[○](https://www.rust-lang.org/faq.html#is-rust-garbage-collected)|[×](https://www.rust-lang.org/faq.html#is-rust-garbage-collected)|
52
52
 
53
53
  |Erlang|__不明__|__インクリメンタルGC?__|
54
54
 
@@ -71,6 +71,8 @@
71
71
  ※ その他、この言語はこれを使っているという情報があれば教えて下さい。
72
72
 
73
73
  ※ Java8にはインクリメンタルGCもあるようですが、非推奨になっています。
74
+
75
+ ※ Rustの参照カウントは標準ライブラリとして提供されます。
74
76
 
75
77
 
76
78
 

3

C#が参照カウントしていないのとJavaについてG1を追加

2016/04/12 22:17

投稿

raccy
raccy

スコア21737

test CHANGED
File without changes
test CHANGED
@@ -16,11 +16,11 @@
16
16
 
17
17
  |C++(スマートポインタ)|[○](http://en.cppreference.com/w/cpp/memory/shared_ptr)|×|
18
18
 
19
- |Java(Oracle)|__不明__|[世代別GC+コンカレントGC](https://docs.oracle.com/javase/jp/8/docs/technotes/guides/vm/gctuning/introduction.html)|
19
+ |Java(Oracle)|__不明__|[世代別GC](https://docs.oracle.com/javase/jp/8/docs/technotes/guides/vm/gctuning/introduction.html)+[コンカレントGC](https://docs.oracle.com/javase/jp/8/docs/technotes/guides/vm/gctuning/cms.html)+[G1](https://docs.oracle.com/javase/jp/8/docs/technotes/guides/vm/gctuning/g1_gc.html)|
20
20
 
21
21
  |Java(OpenJDK)|__不明__|__不明__|
22
22
 
23
- |C#(.NET Framework)|__不明__|[世代別GC](https://msdn.microsoft.com/ja-jp/library/ee787088(v=vs.110).aspx)|
23
+ |C#(.NET Framework)|[×](https://blogs.msdn.microsoft.com/brada/2005/02/11/resource-management/)|[世代別GC](https://msdn.microsoft.com/ja-jp/library/ee787088(v=vs.110).aspx)|
24
24
 
25
25
  |C#(Mono)|__不明__|__不明__|
26
26
 
@@ -70,6 +70,8 @@
70
70
 
71
71
  ※ その他、この言語はこれを使っているという情報があれば教えて下さい。
72
72
 
73
+ ※ Java8にはインクリメンタルGCもあるようですが、非推奨になっています。
74
+
73
75
 
74
76
 
75
77
  間違い等があれば、ご指摘下さい。「無い」ことを証明するのは悪魔の証明になり得るため、しばらくして指摘が無ければ、不明部分は「×」にしていきたいと思います。世代数も調べていった方が良いかちょっと悩んでいます(世代別GCでは無い場合は1世代しかないという扱いをするとか)。
@@ -92,6 +94,8 @@
92
94
 
93
95
  * インクリメンタルGC: 少しずつ小まめにできるだけマーク付けをすることで、一回あたりのSTWを短くする方式。
94
96
 
97
+ * G1: ガベージファースト・コレクタ。ヒープをいくつかに分割して、余り使っていないヒープを収集、圧縮し、一気に解放する方式らしい。
98
+
95
99
  * STW: Stop the World。時よ止まれ!止まった時の中で動けるのはGCだけ。
96
100
 
97
101
 

2

個人ブログも大歓迎

2016/04/04 14:30

投稿

raccy
raccy

スコア21737

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- そこで、参照カウントの有無やGCの種類をまとめたいと思っています。それぞれの言語について情報(公式なドキュメント、信頼できる企業・団体のサイト、多数の技術者によってメンテナンスされているWikiなど)を知っている方は教えていただけませんか?
5
+ そこで、参照カウントの有無やGCの種類をまとめたいと思っています。それぞれの言語について情報(公式なドキュメント、信頼できる企業・団体のサイト、多数の技術者によってメンテナンスされているWikiなど)を知っている方は教えていただけませんか? 公式のみだと情報が少なくなりそうなので、この際、個人ブログ等でもかまいません(ただし、参考資料扱いにさせていただきます)。
6
6
 
7
7
 
8
8
 

1

JavaScript関係でMozillaの資料を追加

2016/04/03 22:06

投稿

raccy
raccy

スコア21737

test CHANGED
File without changes
test CHANGED
@@ -36,11 +36,13 @@
36
36
 
37
37
  |Ruby(MRI)|×|[世代別GC+インクリメンタルGC](https://www.ruby-lang.org/ja/news/2014/12/25/ruby-2-2-0-released/)|
38
38
 
39
- |JavaScript(V8)|__不明__|__不明__|
39
+ |JavaScript(V8)|__○?__|__M&S?__|
40
40
 
41
- |JavaScript(SpiderMonkey)|__不明__|__不明__|
41
+ |JavaScript(SpiderMonkey)|__○?__|__M&S?__|
42
42
 
43
+ |JavaScript(JavaScriptCore)|__○?__|__M&S?__|
44
+
43
- |JScript(Chakra)|__不明__|__不明__|
45
+ |JScript(Chakra)|__○?__|__M&S?__|
44
46
 
45
47
  |Go(gc)|__不明__|[__よくわからない、解説求む__](https://blog.golang.org/go15gc)|
46
48
 
@@ -64,11 +66,13 @@
64
66
 
65
67
  ※ JavaはJava仮想マシン、C#は.NET Framework/Mono依存の可能性があります。ScalaやKotlin、F#やVB.NETについても情報があれば教えて下さい。
66
68
 
69
+ ※ Mozillaに[JavaScriptにおけるメモリ管理のドキュメント](https://developer.mozilla.org/ja/docs/Web/JavaScript/Memory_Management)がありますが、概要だけではっきりしません。
70
+
67
71
  ※ その他、この言語はこれを使っているという情報があれば教えて下さい。
68
72
 
69
73
 
70
74
 
71
- 間違い等があれば、ご指摘下さい。「無い」ことを証明するのは悪魔の証明になり得るため、しばらくして指摘が無ければ、不明部分は「×」にしていきたいと思います。
75
+ 間違い等があれば、ご指摘下さい。「無い」ことを証明するのは悪魔の証明になり得るため、しばらくして指摘が無ければ、不明部分は「×」にしていきたいと思います。世代数も調べていった方が良いかちょっと悩んでいます(世代別GCでは無い場合は1世代しかないという扱いをするとか)。
72
76
 
73
77
 
74
78