はてなキーワード: メモリリークとは
なんか今頃になってPythonの学習コンテンツが充実してきてるけど
Pythonってもう旬を過ぎたと思うんだよな
tensorflowとかsklearnとか使うためにPythonは凄く有用だったしこぞって使ってた
まぁそれでもPandasはクソだったけど他に選択肢もなかった
あと、AIみたいにサービス化とかUIを気にしなくて良いようなワンショットのプログラミングには向いてた
型付けとかしなくていいし、少しぐらいメモリリークしてても気にしないし、UIはtensorboardとかグラフをpngで吐き出せば良かった
何よりターミナルから打ち込んだら実行してくれたりMarkdownのファイルの中に書いたら実行してくれたりそれはまぁ便利だった
ところがAIがコモディティ化して頭打ちも見え始めてきた段階でそろそろビジネス化しないといけないけど
そうなるとPythonみたいなやんちゃな言語をプロダクトレベルまで実装出来る人が少ないことに気づき始めた
UI作るの面倒だし、型チェックとかもやってくれないから想定してないバグが出たり
Pythonを凄いやってた人も「プロダクトレベルとなるとちょっと」っていう人が増えてきた
かといってJavaには戻りたくないってなってTypeScriptが流行り始めた
そもそも最終のUIはWebだし、jQueryから始まったReact/Vue/Angularあたりはどれを使っても簡単にUIを作れる
おまけに枯れたNode.jsでサーバレスに実行できる環境まであるからTypeScriptが流行りまくってるんだと思う
Web系の弱いところはスマホアプリで、WPAあるけどイマイチ流行ってないしAppleが乗り気じゃ無いのがなんとも
なのでflutterあたりが人気出てくるかなぁ、とは思うけどWeb系ほど選択肢が無いから合わない時にとことん合わないと思う
ここから数年はPython人気が落ちてきて、TypeScriptが伸びて、Dartがじわじわ伸びてくるんじゃないかなぁ
初学者はPython、とか言うけど関係なくTypeScriptやった方がいいと思う
Kinzaのパッチが当たった正式版が公開されたので、引き続きこき下ろす。
この間 https://anond.hatelabo.jp/20210828113740 を書いたが、DuckDuckGo経由で無事作者に見つかってしまったらしく、ここで指摘を入れた誤字、インストール場所、公開ソースコードのREADMEが全てではないが直ってた。ここ以外にもアンチがそれなりにいるみたいで、作者のTwitterを見る限りメンタルが削られていたようだ。(あれだけTwitterでアンチコメントがあったのを知ってたのに、中途半端な覚悟でエゴサしたからじゃないの?と言いたいが)
アンチがあんなにいるのは人気がある証拠ではないか。もっといろんな人に知ってもらうまたとないチャンスだ。
誤解しないでほしいのは、こき下ろしているのは学生の合間に作った革新的で軽量なブラウザーが自称ではなく価値あるブラウザになることも期待しているからである。ブラウザ作る奴なんてほとんどいないから。
以前利用規約での遊びがひどすぎてふざけてんのかと書いたせいかは知らないが、アップグレードはちゃんとアップロードになっている、個人の感想がなくなっているなど、おふざけはなくなった。しかし、利用規約が以前と比べて長すぎる文章になってしまっている。しかも利用規約に書くべきではない内容はそのままどころか増えているし、もう少し整理できたのでは?
以前、「Ablazeの利用規約に沿って」という文に対してAblazeの利用規約をここに載せろと言ったが、掲載されたのはその利用規約ではなくプライバシーポリシーだった。「Ablazeの利用規約」は「Albazeのプライバシーポリシー」のことなのか?「Ablazeの利用規約」はホームページにも掲載されていないので、結局の所それに何が書かれているのかわからない。何が書かれているかわからない「Ablazeの利用規約」に同意しようがないので、この利用規約に真面目に従えばAblazeの関係者と同団体に盲信する人を除いてFloorpブラウザは規約上誰も使えない代物である。どうせ誰も見ないでスルーして使っているだろうが、きっちり書くべきところがきっちりできていないのは問題である。
所々「書いとけばいいんでしょ」感が出てしまっていて、ただでさえ読まれない利用規約をさらに読む気のしないものになっている。ここまで長くなったのなら、規約本文の見直しをした上でその中にあるプライバシーポリシーを分けた方が良くないか?工夫・配慮が足りない。リリース予定日に追われて、利用規約に割く時間がなかったのだろう。
それにしても、あれだけ長くなってもChromiumのライセンス情報が未だに書かれていないのはどういうことだろうか。著作権表示と許諾表示をドキュメントに書くことが条件になっているので、「BSDライセンスに従って」という書き方ではダメ。その表記で済ませるなら、ドキュメントファイルとかURLとかを明記しないと。Kinzaのパッチのことよりも憂慮するべきことではないのか(これも結構長いのでChromiumと同じようにすればよいのでは?)。
Kinzaのパッチをそのまま当てられるようにしたことで、バージョンがDevチャネル相当の95から89に大幅ダウン。Kinzaのパッチが公開されてからわずか2週間でリリースできたのはこれが理由だろう。Kinzaの言ってるとおり古いバージョンのままでは危険で、常用は避けるべきである。
ちなみに、https://developers-jp.googleblog.com/2021/04/chrome.htmlの通り、Chrome94からメジャーバージョンアップの頻度が6週間から4週間になるらしいが、メジャーバージョンアップについて来られるのかが疑問である。メジャーバージョンアップした正式版に期待が寄せられると思ったが・・・(次節に続く)
というツイートが。あれ?このブラウザって「Kinza派生系ブラウザ」だよね?たった1年ちょっとで終わりなの?
Chromiumのメジャーバージョンアップにかかる手間のことを全く考えていなかったようだ。Kinzaが終了した理由に開発継続に対するコストの問題があるって書いてあったのに。その意味が理解できていなかったのか。2022年まではやると言っているようだが、パッチ適用時のエラー量が多すぎて挫折しているのではないか?本業が学生なんだし、本業を優先するゆえにKinzaの後釜になれないのも仕方のないことだろう。というより、ブラウザ開発は本業と両立できるほど甘くないのでは?
2022年までの理由は、受験を控えているかららしい。受験は作者の人生を左右する大事なことなのでしょうがない面もあるが、Ablazeという非営利団体(?)にはそれをカバーする人が今はいないということも言える。要するに、2022年を過ぎるとメンテナンスする人が誰もいないことになる。早くもFloorpの将来性が危うい。
Fireminによる見せかけのメモリ使用量しか見ていないのは相変わらずのようで、大変残念。あれだけこき下ろしたのに懲りないね。
以前
なんて書いたら某動画で「変なこと言ってる」と言われたが、その動画でもやっぱりWindowsタスクマネージャーの一部分しか見てなくてお前もかよ。恥ずかしい人は作者だけじゃなかったわけだ。まあ仕方ないよ。Floorp軽い!って先に体感してしまってろくに検証せずそれで終わりにしたんだから。
たしかにメモリ圧縮の効果はあるからメモリ不足気味な低スペックPCなら有効かもしれない。けどな、Fireminを他のブラウザでも有効にしたら同じ効果が得られるぞ。ChromeなんかもWindowsタスクマネージャーのメモリの所を見たら数MBになるから。実際そこまで減らないけどな。
某落書きに書いてある
は全くその通り。そう思い込む奴が出てきた一因はこの間裁判に負けたギガなんとかが記事を書いたせい。あと前に言い忘れたけど、ページアウトするってことは、ページファイルへの書き込み頻度が上がってディスクの寿命を縮めるからメモリに余裕がある人はFireminは止めとけとだけ言っておく。
FloorpにはFFmpegのH.264とAACのデコーダが入っているが、それらは特許技術で保護されている。特許の入ったコードをバイナリで配布することに関して、FFmpegは特許侵害の責任は一切持たない方針をとっているので、一部の例外を除いて特許のライセンスを管理しているMPEG LAやVia Licensingとライセンス契約を結ばなければ特許侵害になる。
非商用ならライセンス料がかからないが、個人もしくは非営利団体だからライセンス料がかからないとは限らない。広告収入を得ている場合は非商用と見なされない可能性がある。将来ライセンス管理会社からライセンス料を請求される、最悪の場合特許侵害で裁判沙汰になるので覚悟しよう。ちなみにこれがKinzaが当初はH.264とAAC(と当時はまだ特許が有効だったMP3)の再生ができなかった理由であり、独自実装となった理由である。
以前言ったことが直ったものもあるが直ってないのもいくつかあって、特にhttps://github.com/Ablaze-MIRAI/Floorp-Browserの一文
が象徴的。「大部分の」は直ったが、どうやら「一番軽量」は直す気がないらしい。その誇大広告を直す気が無いのなら、なぜ一番軽量と言い切れるのか証拠を出しましょう。まさかあのメモリカスタマイザーが同梱してるからどの派生ブラウザよりも軽いんだよ、とか言い放つ気ではないだろうな?他のブラウザにFireminを入れてもなお軽いことを示してみてね。頑張って♪
Chromium派生ブラウザを初めてインストールした時に軽いとかほざく奴がいるけど、あれ何も入ってないまっさらな状態のせいだからな。履歴とかクッキーとかキャッシュとかがたまりにたまったブラウザと比べるから軽いって錯覚するだけで、地道なChromiumのコード改造とかしない限りメモリの使い方もパフォーマンスもほとんど同じ。改造以外に差があるとしたらビルドの仕方ぐらい。比べるのはプロファイルを全部コピーして同じにしてからだ。
Floorpは他のブラウザに拡張機能をインストールする!!危険!!!
って意見を持つ必要はありません。FloorpはChromeウェブストアの審査を通過した場合のみ、その機能を採用します。Googleの厳しい審査を受けている為、安全です
というTwitterの発言。大事なことを忘れている。Chromeウェブストア経由でインストールするのはGoogleの審査があるという意味では安全だが、ストア外からのインストールが安全とは言ってない。審査の通ったファイルが変化なくFloorpに入っている保証ができるのか?Floorpを信用するならインストールすればいいと思う。ソフトウェアに署名がないから改ざんされてないかが検証できないけどな。サーバーが乗っ取られて偽ファイルをダウンロードされるような事態を想定できている?何のためにストア外の拡張機能のインストールに管理者権限が必要になったか理由わかってる?
まあ学生が作ったブラウザを信頼するかしないかの問題だな。どうなっても誰も責任は取ってくれない。
今の段階だと、Chromiumのバージョンが古くてセキュリティが怪しいFloorpをわざわざ入れるまでもないんじゃないのか?FloorpSyncというxBrowserSyncベースのブラウザ同期の機能はxBrowserSync拡張機能さえ入れればどのブラウザでも使えるし、そんなに(見せかけの)メモリ使用量削減効果を見たいならFireminを入れればよいわけだし。
FloorpSyncはxBrowserSyncから名前変えただけじゃないの?まあ日本語対応はブラウザの作者がやったらしくそのことは評価できるが、Floorp自体はまだこれといった特徴がない。特徴がないのは開発が始まったばかりで仕方のないことだが、Kinzaのパッチを適用した後どうするかが特になく、将来どうしたいのかがよくわからない。挙げ句の果てにKinza派生系は2022年までという期限が付いてるし。
まあめんどくさがりにはいいんじゃない?同期やらメモリ節約やらを勝手に入れてくれるんだから。
何で批判多いのか自覚がないのは痛い。そういう厚かましさと根拠のない自信がアンチを生んでるんじゃないのか。もうエゴサしてないらしいからこれを見ることはもうないだろうがな。これを書いた屑なアンチを乗り越えてこそ本物だから。メンタル崩壊してる暇はない。しっかりしろ。
オープンソースソフトウェアの名前を変えて、それらを寄せ集めただけのブラウザで終わるのか、このブラウザならではの特徴を持ったブラウザに成長するかは作者次第。今のところは前者で開発終了になるのが目に見えている。いろいろな人から期待されている割には軽い気持ちで作っているように見受けられ、ブラウザ開発の覚悟が足りていない。
時間 | 記事数 | 文字数 | 文字数平均 | 文字数中央値 |
---|---|---|---|---|
00 | 99 | 14694 | 148.4 | 34 |
01 | 80 | 10097 | 126.2 | 47 |
02 | 66 | 8824 | 133.7 | 59 |
03 | 403 | 325905 | 808.7 | 870 |
04 | 16 | 1438 | 89.9 | 26.5 |
05 | 13 | 2928 | 225.2 | 56 |
06 | 18 | 4420 | 245.6 | 52.5 |
07 | 39 | 6708 | 172.0 | 42 |
08 | 78 | 7700 | 98.7 | 52.5 |
09 | 92 | 9675 | 105.2 | 37 |
10 | 108 | 8989 | 83.2 | 46 |
11 | 126 | 15314 | 121.5 | 36.5 |
12 | 162 | 10957 | 67.6 | 26 |
13 | 144 | 8257 | 57.3 | 30 |
14 | 157 | 15302 | 97.5 | 44 |
15 | 164 | 29298 | 178.6 | 44.5 |
16 | 135 | 11727 | 86.9 | 47 |
17 | 125 | 18995 | 152.0 | 53 |
18 | 161 | 13408 | 83.3 | 30 |
19 | 145 | 12178 | 84.0 | 36 |
20 | 131 | 19328 | 147.5 | 54 |
21 | 123 | 25655 | 208.6 | 34 |
22 | 140 | 13610 | 97.2 | 39.5 |
23 | 124 | 18475 | 149.0 | 55 |
1日 | 2849 | 613882 | 215.5 | 51 |
メモリリーク(4), 内孫(4), ピクロス(4), 山口二郎(3), フと(3), ロードス(3), publickey(3), 乱痴気騒ぎ(3), withnews(3), vaporwave(3), 自公政権(4), ⭕(13), 激怒(12), ひろゆき(19), 注射(11), 醤油(15), ワニ(9), 立憲民主党(11), 政権交代(7), 東京五輪(8), パック(13), 観客(12), 寿司(20), ロジック(9), 育ち(19), 皿(10), チケット(9), 会わ(7), 飲食店(18), 接種(19), 選挙(19), 袋(12), 伸び(14), ホモ(12), 打っ(14), 自転車(13), 悪さ(10), 五輪(15)
■どうにもならない今日だけど /20210712033224(373), ■彼女がパック寿司のフタを醤油皿にしてたが育ちの悪さはフとした瞬間に出るよな /20210712124840(37), ■物の名前が途中で変わることってあったの? /20210711135946(27), ■注射が痛いからワクチン打ちたくない /20210711034748(20), ■あのころの私へ。「バストトップの痒み」 /20210711231323(19), ■エセ腐男子が腐女子と仲良くなろうとしてやりがちな失敗。 /20210712153105(13), ■汽車にのりたい /20210711214401(11), ■死んでいく文化や商品はかき氷を見習えよ /20210711174901(11), ■ /20210712204137(11), ■教え魔おじさんに会わない /20210712171113(11), ■アダルトグッズを買ったことがあるやつらへ /20210711161100(10), ■Twitterの政治豚がすごくウザい件 /20210712200950(10), ■最近見てるVtuberの同時接続者数が /20210712161803(9), ■昔の友達がニュース激怒マンになって悲しい私 /20210711021233(9), ■バッハ会長は、何故五輪が無観客なのか理解できない /20210712133247(9), ■初めて18禁BLPCゲームした時のこと /20210712052805(7), ■ツイッターのシャザム糞ババア死ねよ /20210711223409(7), ■反出生主義者って何で生まれてくる子の幸福度を勝手に決めてるの? /20210712095322(7), ■ブロッコリーが苦手(閲覧注意かも) /20210712163214(6), ■ /20210712020207(6), ■ /20210711154000(6), ■「ひろゆき相手ならネットリンチしてもいい」みたいな空気 /20210712205305(6)
何かの参考とかにしたらダメです。書き始めて半年経つんだけどこっからどう直したらいいんだか(何をゴールにしたらいいのか)わからない。。
追記:合流性とか強正規化可能性とか停止性とか、全部チューリング不完全で、事前の静的解析で使うメモリの最大量が確定できる、とかそういう風に読み替えられる人を増やしたいのです、数式の添え字とΣと∫にびびらない人を増やしたいようなもので
数理論理学の一分野である証明論から成長した、数理論理学と理論計算機科学の境界領域の研究領域である型理論(type theory)は、大規模なプログラムの内的な整合性のチェックを行うための方法論を必要とする情報処理技術の分野で関心を集めている。
そもそも「型」(type)とは何か。プログラミング言語は一般的にはレコードや関数といったプログラムを構成する「値」(value)の定義をする道具である(*1)。その言語のコンパイラ作成者はこれらレコードや関数などの値、もしくは第一級の対象(first-class object)の種類を区別する型システム(type system)を必要とする。抽象代数学の観点からすると、「型」とはこれらの値もしくは第一級の対象が属する高階の対象(higher order object)としての空間(space)ないし代数系(algebraic system)で、型システムはそれら「型」とそれら相互の関係(relation)つまり型のなす順序構造(order structure)ないし束構造(lattice structrure)であるといえる。
プログラムを構成する値すべてに型が付くためには、曖昧でない(*2)こと、自己矛盾していないこと、悪循環を含まないこと、それぞれの値の内容をチェックするために無限の時間を要しない(*3)ことなどが必要で、これらを満たすなら、プログラムは有限時間で実行を終え、停止する。手続き型言語では無限ループ、型無しラムダ計算では無限再帰によって型付け不能なプログラムを書くことができるが、型理論はこれらのチューリング完全な計算機を意図しない停止しないプログラムから守る装甲でもあり、再帰やメモリ確保で好き勝手をさせないための拘束具でもある。型が付くプログラムには単に停止するというだけでなく、可能な実行経路(訂正:経路→方法)のすべてで同じ結果を出すなど種々の良い性質がある。
1)この定義は現実に使われているプログラミング言語の特徴を覆い切れていない、狭い不満足な定義だが本稿では都合上この定義に立脚して限定的に議論する。例えば変数(variable)というものを持つプログラミング言語もあり広く使われているが、これについてはレコードや関数と同じように性質の良いものとして扱うことが難しい。難しさの原因は次の注の内容と関連する。近年は変数を扱うかわりに値の不変のコピー(immutable copy)やその参照に名前を付ける機能を持つプログラミング言語が増えている。
2) 現実の情報システムでは、COBOL言語のレコード再定義やC言語の共用体、一般的な関数ポインタやVisual Basic言語のvariant型変数のように、同一領域に異なる型の値が共存する共用型(union type)の値がしばしば必要となる。共用型の値はgoto文を排除した構造化/オブジェクト指向プログラミングにおいて条件キャストやクラス分岐などによる実行経路の複雑さの主要な原因になるが、これは和型(sum type)すなわち相異なる型の非交和(disjoint sum)として定義することで曖昧さなく定義できる。
3) ゲームプログラムやネットワークサービスにおいてしばしばみられるように、入力として無限リストや任意に深い木のようなものを想定する場合には明らかに(条件を満たさない限り)停止しないことが正しい動作となり、この場合は最外周のループを(←どうする?)メモリリークを起こさないなど別の考慮が必要となる。
23日間ほどスタンバイを利用しながら、Windowsを使用し続けるとメモリリークになる。
警告のダイアログが出る。
プログラムを正しく動作させるのに必要なメモリを復元するにはファイルを保存してから、開いているすべてのプログラムを終了または再起動してください。
イベントビューアを見ると、chromeとウイルスバスターがメモリを消費していた。
chromeを閉じてMicrosoft Edge を起動してみると、
イベントビューアではEdgeとウイルスバスターがメモリを消費しているとのこと。
Windows Defender に変更して様子を見た。
Windows は仮想メモリの不足状態を診断しました。仮想メモリを多く消費したのは次のプログラムです: coreServiceShell.exe (2848) は 1477959680 バイトを消費し、chrome.exe (12928) は 499216384 バイトを消費し、chrome.exe (18092) は 243965952 バイトを消費しました。
Windows は仮想メモリの不足状態を診断しました。仮想メモリを多く消費したのは次のプログラムです: coreServiceShell.exe (2848) は 1521418240 バイトを消費し、MicrosoftEdgeCP.exe (5936) は 921763840 バイトを消費し、MicrosoftEdgeCP.exe (6960) は 575160320 バイトを消費しました。
Windows は仮想メモリの不足状態を診断しました。仮想メモリを多く消費したのは次のプログラムです: chrome.exe (5220) は 658739200 バイトを消費し、chrome.exe (5908) は 238960640 バイトを消費し、chrome.exe (10488) は 235864064 バイトを消費しました。
ソース: Resource-Exhaustion-Detector
変更済み 53 MB
空き 1833 MB
合計 8100MB
省略。