並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 405件

新着順 人気順

memoryの検索結果41 - 80 件 / 405件

  • JVM入門
 -Javaプログラムが動く仕組み-

    2019/11/23 JJUG CCC 2019 Fall - 日本Javaユーザーグループ 登壇資料です。

      JVM入門
 -Javaプログラムが動く仕組み-
    • 大規模オンプレミスなヤフーのサーバーインフラの裏側 〜 サーバー調達や運用の流れを紹介します

      OEM系→ODM系にシフトした背景ですが、1つは 価格競争力 です。 インフラにおいてプライスは重要な指標です。 また昔と今でヤフーのサーバーの買い方に違いがある事もポイントになっています。 昔のヤフーは、いろいろな部門が、いろいろな構成のサーバーを、いろいろなタイミングで購入していました。 この結果、納期面で有利なOEMを第一選択肢としていました。 またいろいろな構成のサーバーが入る事を考慮した結果、自営保守ではカバーしきれない範囲も多く、ベンダーが提供するサポートに依存している部分もありました。 しかし最近では 自社クラウド環境の普及により、決まった部門決まった構成決まったタイミングで購入するように になってきたため、 納期に関して余裕を持ったスケジューリングができるようになりました。 またクラウド環境で利用できるサーバーはかなりハイスペックなため、価格の数%の違いも大きなビジネスイン

        大規模オンプレミスなヤフーのサーバーインフラの裏側 〜 サーバー調達や運用の流れを紹介します
      • 1100万行・32GB超の巨大CSVファイルの基本統計量を4GBメモリマシンで算出する - Qiita

        はじめに この記事は,Kaggle Advent Calendar 2022第6日目の記事になります。 本記事では、 32GB超のCSVデータの基本統計量を、小規模マシンでも省メモリかつ高速に計算するテクニック について解説します。 Kaggleコンペに限らず、 マシンスペックが低いため、大きなデータセットを満足に処理できず困っている 毎回行うファイル読み込みが遅いので、もっと高速化したい ⚡ といった悩みや課題を抱えている方の参考になれば幸いです。 モチベーション データ分析業務やKaggle等のコンペティションで初めてのデータセットを扱う場合、いきなり機械学習アルゴリズムを行うことはまず無く、最初にデータ観察を行うのが一般的です。 テーブルデータであれば、各カラムの基本統計量(最小値、最大値、平均、分散、四分位数)などを計算・可視化し、データクレンジングの要否や特徴量設計の方針などを検

          1100万行・32GB超の巨大CSVファイルの基本統計量を4GBメモリマシンで算出する - Qiita
        • おっさんのためのModernC++入門ガイド(草稿) - dec9ue's diary

          みなさんはC++の読み書きができますか? 自信がある方、いつ頃勉強しましたか?もし20世紀に勉強したのであれば、その知識は相当古いです。実質現在のModernC++(C++11以降のC++)とは概念上の互換性がないので脳のアップデートが必要です。 自信がない方、文法は知っているけどなんとなく使いこなせていない方、マサカリ屋にあーだこーだ言われて大混乱している方。必勝パターンを身につければもっと楽にコードを読み書きできるようになるかもしれません。 この文章の目的は、ModernC++におけるメンタルモデル(考え方)や必勝パターンをざっくりと導入することでみなさんが楽にModernC++を読み書きできるようなお手伝いをすることです。主要な内容としてはムーブセマンティクスと右辺値 とその次の章でだいたいA4換算で15ページくらい?ほかは正直流し読みしてもらえるような内容です。また、内容的にはその

            おっさんのためのModernC++入門ガイド(草稿) - dec9ue's diary
          • M1でやってるらしい(Apple用の)最適化|NJRecalls

            Apple M1速いね、ってことで、それはいいとして、それ以外にも色々Appleの用途に最適化している点があるらしいというツイートがあった。ちょっと読んでてマジで?となったのでここにメモしておこう。 私はというとこんなCPUレベルの話が効いてくるようなプログラムは書いたことないので、誤解もあると思う。ゆるして 1/ In case you were wondering: Apple's replacement for Intel processors turns out to work really, really well. Some otherwise skeptical techies are calling it "black magic". It runs Intel code extraordinarily well. — Robᵉʳᵗ Graham😷, provocateu

              M1でやってるらしい(Apple用の)最適化|NJRecalls
            • Linuxを生み出したリーナス・トーバルズがIntelを厳しく批判、理由は「ECCメモリを死に至らせているから」

              by renatomitra Linuxの開発者のリーナス・トーバルズ氏が、技術コミュニティの「Real World Tech」内で「IntelはECCを死に至らせている」と発言し、IntelのECCに対する姿勢を厳しく批判しています。 Real World Technologies - Forums - Thread: Ryzen 9 5000 series processor https://www.realworldtech.com/forum/?threadid=198497&curpostid=198647 Linus Torvalds On The Importance Of ECC RAM, Calls Out Intel's "Bad Policies" Over ECC - Phoronix https://www.phoronix.com/scan.php?page=n

                Linuxを生み出したリーナス・トーバルズがIntelを厳しく批判、理由は「ECCメモリを死に至らせているから」
              • 本気か?Apple幹部が「Macのメモリは8GBでOK」と主張。 - すまほん!!

                海外サイト「IT之家」は4月12日(現地時間)、Appleのエンジニアリング担当副社長Kate Bergeron氏とMac製品マーケティングチームのEvan Buyze氏の独占インタビューを公開しました。そのなかでEvan Buyze氏は、Macの実行メモリ容量について興味深い発言をしています。 Macでは2015年以降、全モデルが最低でも8GBの実行メモリを搭載してきました。2020年以降に登場したApple Silicon搭載モデルでは、CPU、GPU、実行メモリを1つのチップに収めたユニファイドメモリとすることで、各チップが分離していた従来モデル(Intel Mac)と比べ、全体的な処理能力も向上しています。 一方、複数のチップをまとめた結果、購入後に実行メモリの容量を増やすという、Intel MacのハイエンドモデルやWindowsマシンではお馴染みのテクニックは使えなくなりました

                  本気か?Apple幹部が「Macのメモリは8GBでOK」と主張。 - すまほん!!
                • 人気順検索のSolrはスケールのためにディスクを捨てた - クックパッド開発者ブログ

                  技術部クックパッドサービス基盤グループの id:koba789 です。 昨年まではデータ基盤グループというところで 最新のログもすぐクエリできる速くて容量無限の最強ログ基盤 を作ったりしていました。 今年はちょっとチームを移動しまして、検索システムをいじっていました。今回はそのお話です。 なお、クックパッドには様々な検索システムがありますが、この記事では説明を簡単にするためにレシピの検索のみに焦点をあてています。 クックパッドの検索システムにあった課題 クックパッドにはレシピを検索できる機能があります。 プレミアム会員限定の人気順検索もこの機能の一部です。 しかし、この重要な機能を支える検索システムにはいくつもの課題がありました。 Solr が古すぎる クックパッドでは、レシピ検索を含む多くの検索機能にSolrを用いています。 今年の始めに私がこの課題に取り組み始めた時点では、その Sol

                    人気順検索のSolrはスケールのためにディスクを捨てた - クックパッド開発者ブログ
                  • 「強いメモリモデル」と「弱いメモリモデル」 - yamasaのネタ帳

                    Apple M1についての面白い記事を見かけて、久しぶりにメモリモデル屋(?)の血が騒いだのでブログを書く。 note.com 強いメモリモデル 現代のCPUアーキテクチャでは、x86(64bit, 32bitどちらも)が「強いメモリモデル」を採用しており、それ以外のメジャーなCPUが「弱いメモリモデル」を採用している。この「強いメモリモデル」「弱いメモリモデル」について、まずおさらいしておこう。 以下のように、2つの変数a, bに対して異なるCPUコアが同時にアクセスしたとする。 int a = 0; int b = 0; CPU1: a = 1; b = 1; CPU2: int r1 = b; int r2 = a; (上記はC言語に似た疑似コードを用いているが、実際は機械語命令になっていると考えてほしい。つまり、CPU1は変数a, bの示すメモリアドレスに対するストア命令を実行して

                      「強いメモリモデル」と「弱いメモリモデル」 - yamasaのネタ帳
                    • Rustのメモリ管理機能とその特徴

                      初出:技術評論社刊「ソフトウェアデザイン 2021年9月号」 先日、技術評論社よりRustのメモリ管理機能についての特集に寄稿させて頂きました。 この記事は自分が寄稿させていただいた記事をブログ用に一部推敲・加筆を加えたものです。 なお、ソフトウェアデザインでの特集ではより実践的な例でのメモリ管理についての解説もあるので、興味のある方は本誌のほうも手にとっていただければと思います。 プログラム言語におけるメモリ管理の課題プログラミングにおける課題の一つとしてどうやってメモリ領域(ヒープ領域)を管理するかというものがあります。 C言語ではmalloc/free関数などを用いて手動でメモリを管理しています。 これらの関数はメモリアドレスを示すポインタを介してメモリ管理を行います。 malloc関数は必要なメモリ領域を確保してその先頭番地のポインタを返し、プログラム内ではその番地のメモリを読み書

                      • 実装言語を「Go」から「Rust」に変更、ゲーマー向けチャットアプリ「Discord」の課題とは

                        ゲーマー向けの無料音声テキストチャットアプリケーション「Discord」を開発、提供するDiscordは2020年2月5日(米国時間)、アプリケーションを支える基盤サービスの一つである「Read States」をRust言語で再実装し、その結果サービスのパフォーマンスが大幅に向上したと公式ブログで明らかにした。 Read StatesサービスはこれまでGo言語で実装されていた。それにもかかわらず、なぜRead StatesをRustで再実装しようとしたのか、どのように再実装したのか、再実装によってどのようにパフォーマンスが向上したかを解説した。 Rustで再実装した背景とは Read Statesサービスの目的は、Discordユーザーがどのチャンネルのどのメッセージを読んだのかを追跡することだ。つまり、ユーザーがDiscordに接続したり、メッセージを送信したり、メッセージを読んだりする

                          実装言語を「Go」から「Rust」に変更、ゲーマー向けチャットアプリ「Discord」の課題とは
                        • JVM上で動くWebアプリケーションがリソースを食いつぶす原因を探るためにやったこと【Backlog Play化プロジェクト】

                          ヌーラボでScalaを書くRubyistの谷本です。ヌーラボでは、Backlogの開発を担当しており、最近ではBacklogをJavaからScala / Play Frameworkに移行するプロジェクトのメンバーでした。 BacklogのPlay化プロジェクトでは、OutOfMemorryError(以下、OOM)の発生やCPU使用率とロードアベレージが上がったままという、Java Virtual Machine(以下、JVM)上で動くBacklogのパフォーマンスに関する問題に対処すべく、何度かHeap/Thread dumpを見る機会がありました。 私がPlay化プロジェクトで取り組んだパフォーマンス改善の知見や経験をもとに、本記事では「JVMで起こったパフォーマンスの問題の切り分け方」についてお届けします。 はじめに 本番環境でしばらく動かしていると、コード自体は正しく実行できるけ

                            JVM上で動くWebアプリケーションがリソースを食いつぶす原因を探るためにやったこと【Backlog Play化プロジェクト】
                          • JavaScriptのメモリリークを検出するフレームワーク「MemLab」、メタがオープンソースで公開

                            JavaScriptのメモリリークを検出するフレームワーク「MemLab」、メタがオープンソースで公開 メタ(旧Facebook)は、JavaScriptアプリケーションのメモリリークを検出するフレームワーク「MemLab」をオープンソースとして公開したと発表しました。 We’ve open-sourced MemLab. #MemLab is a JavaScript memory testing framework that automates leak detection and makes it easier to root-cause memory leaks. 1/2 https://t.co/vo6Gzv56ud — Engineering at Meta (@fb_engineering) September 12, 2022 Metaが展開しているFacebook、Fac

                              JavaScriptのメモリリークを検出するフレームワーク「MemLab」、メタがオープンソースで公開
                            • 小さな図書館の思い出を喋りたい

                              近畿郊外のベッドタウンの話だ。 その片隅の、さほど大きくない団地に育った。 団地とともにできた集会所の中に、小さな図書館の分室があった。 学校の教室一つぶんよりも小さいそこに、子供のころ足しげく通った。 児童書コーナーにあった本はおそらく全部読んだと思う。 漢字がわかるようになると、鉄道ファンの積みあがったバックナンバーをひたすらに読み漁った。 身長が伸びてくると、本棚の上の方にあったソノラマ文庫に手が届くようになった。 クラッシャージョウに世間から十年遅れくらいでドハマりした。 コバルト文庫やソノラマ文庫の並んだ中に、いつごろかロードス島戦記と風の大陸が入った。 ライトノベルを読み続ける一生は、この図書館に教えられた。 いつしか小さな図書館の蔵書では物足りなくなり、自分で本を買いそろえるようになると、徐々に足は遠のいていった。 やがて団地そのものから引っ越すことになり、最後に行ったのはも

                                小さな図書館の思い出を喋りたい
                              • Apple、GPUを1チップに統合して驚異的な性能を発揮する「M1 Pro」、「M1 Max」

                                  Apple、GPUを1チップに統合して驚異的な性能を発揮する「M1 Pro」、「M1 Max」
                                • sudoとsuがRustで書き直される。メモリ安全性向上へ

                                    sudoとsuがRustで書き直される。メモリ安全性向上へ
                                  • MySQL で使用するメモリサイズの見積もり - 元RX-7乗りの適当な日々

                                    最近、MySQLのパラメータの調整をする機会があったのですが、特定のパラメータを変更した際に、メモリの消費量にどう影響するのか、というのを調査する際に、インターネッツを彷徨ったところ、サイトによって書いてあることにバラつきがあったので、自分でもまとめてみることにした。 結論から書くと、参考にしたのは以下のオライリーの書籍「MySQLトラブルシューティング」で、記述が一番わかりやすく書かれていた。 このエントリは、この書籍の 「3.9.3 オプションの安全値を計算する」 にて記載がある内容をまとめたものになる。 MySQLトラブルシューティング 作者:Sveta SmirnovaオライリージャパンAmazon 著者について Sveta Smirnova(スヴェータ・スミルノヴァ): Oracle社MySQLサポートグループ・バグ検証グループの主席テクニカルサポートエンジニアとして毎日MySQ

                                      MySQL で使用するメモリサイズの見積もり - 元RX-7乗りの適当な日々
                                    • 電源を切っても消えないメモリとの付き合い方

                                      Transcript ిݯΛ੾ͬͯ΋ফ͑ͳ͍ϝϞϦͱͷ෇͖߹͍ํ NAOMASA MATSUBAYASHI https://github.com/Fadis/kernelvm_20191019_samples αϯϓϧίʔυ Ϩδελ L1 cache L2 cache L3 cache DRAM SSD ϋʔυσΟεΫ ߴ଎Ͱ ༰ྔ୯Ձ͕ߴ͍ ௿଎Ͱ ༰ྔ୯Ձ͕͍҆ 1013 100 101 102 103 104 105 106 107 108 109 1010 1011 1012 10−10 10−9 10−8 10−7 10−6 10−5 10−4 10−3 10−2 ༰ྔ[bytes] ॻ͖ࠐΈͷϨΠςϯγ[ඵ] Ϩδελ L1 cache L2 cache 10−1 L3 cache DRAM SSD ϋʔυσΟεΫ ӬଓԽ͞Εͳ͍ ӬଓԽ͞ΕΔ 1013 100 101 10

                                        電源を切っても消えないメモリとの付き合い方
                                      • Javaのコンテナのメモリ割り当ての考え方をまきさんに教えていただいたので記録 - Mitsuyuki.Shiiba

                                        何度か教えていただいているので、今度こそしっかり覚えておきたくて、まきさんからのコメントを記録。 ## メモリサイズの考え方 SpringBootのアプリをコンテナとして動かす場合には768MB以上必要で、1GBくらいは割り当てる必要があるのではないかという僕のコメントに対していただいたコメント。 それは不正確..Tomcatを使う場合は最大コネクション(スレッド)がデフォルト200で+50スレッドくらい余裕を見ると250M (-Xss1M)でデフォルトのReservervedCodeCacheSize 240MとDirectMemorySize 10M加えた上にMaxMetaSpaceSizeがざっくり50Mくらい足すと550Mくらい使ってこれHeapを足すとコンテナサイズ— Toshiaki Maki (@making) November 16, 2019 その前提であればHeap 2

                                          Javaのコンテナのメモリ割り当ての考え方をまきさんに教えていただいたので記録 - Mitsuyuki.Shiiba
                                        • Chrome の console.log でハマらないために

                                          JavaScript を書いたことがある人ならば一度は使うであろう console.log ですが、この関数は思ったよりも厄介な性質を持っています。その性質を知らずに console.log を使うと、デバッグ時に大ハマリしてしまうことがあります。この記事では console.log の落とし穴についてお話します。 今回は Chrome に特化して解説しますが、Firefox や Safari でも同じ落とし穴があります。 console.log とは まずはさらっと基本をおさらいしましょう。 大前提なのですが、console.log は JavaScript の言語仕様(ECMAScript)で定義されていません。ブラウザ向けには whatwg の仕様がありますが、あくまでもそれはブラウザ向けの仕様であり、Node.js を含むほぼ全ての JavaScript 環境で使えるのは cons

                                          • グーグル、Rust採用で「Android」のメモリーに関わる脆弱性が激減

                                            メモリー関連の不具合を減らすために、「Android」の新しいコードにRustを使用するというGoogleの判断は、成果を挙げているようだ。この数年で、Androidのメモリー安全性関連の脆弱性は半分以下になった。この成果が達成された時期は、GoogleがCやC++からメモリー安全性の高いプログラミング言語であるRustに切り替えた時期と一致する。 Androidに発見されたセキュリティホールの中で、最も件数が多かったカテゴリーがメモリー安全性関連の脆弱性でなかったのは2022年が初めであり、Googleは1年前に、「Android Open Source Project(AOSP)」で新しいコードのデフォルト言語をRustに切り替えている。 GoogleがAndroidに使用しているほかのメモリー安全性を備えた言語には、JavaやJava互換のKotlinがある。AOSPで主流の言語はま

                                              グーグル、Rust採用で「Android」のメモリーに関わる脆弱性が激減
                                            • Goのロギングライブラリ 2021年冬 - moriyoshiの日記

                                              この記事はPySpa Advent Calendar 2021の14日目のエントリーとして書かれました。昨日のエントリーは冷凍食品でウキウキ引きこもり生活 でした。ちなみに私も70ℓの冷凍庫を購入しましたが本当にライフチェンジングでした。 総論: なぜログが必要か 可観測性 たとえ目的は自明でも、その動作までが自明なアプリケーションというものはほぼ存在しません。現実の世界のアプリケーションというものは、動作パラメータだったり実行環境だったり、起動時点でのさまざまな要因によって挙動を変えるものだからです。そして、そうしたアプリケーションにはライフサイクルというものがあります。ここでいうライフサイクルは、アプリケーションの処理が実行されるにつれ、アプリケーションの内外との情報のやりとりで生じる大局的な状態の変化のことです。アプリケーションが並行処理を行うようなものであれば、個々の並行処理の単位

                                                Goのロギングライブラリ 2021年冬 - moriyoshiの日記
                                              • Discord Blog

                                                From Blocky to Brilliant: Improving Video Quality on Discord Go Live on AMD GPUs

                                                  Discord Blog
                                                • 介護されたい高齢オタクを引っかける釣り針がすごい──『葬送のフリーレン』 - シロクマの屑籠

                                                  これから書くことは『葬送のフリーレン』評ではない。なぜなら『葬送のフリーレン』という厚みのある作品の全体像をうんぬんするものでなく、作品のごく一部、作品に仕掛けられている数ある釣り針のひとつに注目し、「これは介護されたい高齢オタクが釣られるしかない、見事な釣り針ですなぁ」とテカテカする趣向のものだからだ。 釣り針というのは他でもない、『葬送のフリーレン』が、介護されたい高齢オタクが過去と現在に思いを馳せて願望するのに都合良い作品としてつくられているからだ。繰り返すが、『葬送のフリーレン』の魅力はそれだけじゃない。エルフと人間の寿命の差や時間感覚の差、勇者の遺したもの、人類の英知と技術革新etc...、そういったものを支える作者の洞察の泉はどうなっているんだろう? と惚れ惚れしてしまう。ただ歳月を感じさせる作品でなく、まして寿命チートを連想させる作品では決してなく、歳月の果てにしか宿らない旨

                                                    介護されたい高齢オタクを引っかける釣り針がすごい──『葬送のフリーレン』 - シロクマの屑籠
                                                  • Microsoft、安全で高効率のプログラミング言語として「Rust」を高く評価

                                                    Microsoft、安全で高効率のプログラミング言語として「Rust」を高く評価:メモリ破壊バグを避けるには Microsoft Security Response Center(MSRC)は、ソフトウェアのセキュリティ確保と効率性の両方の要件を満たす最も有望なシステムプログラミング言語の一つとして、「Rust」を高く評価した。メモリ破壊バグをそもそも作り込まないことでセキュリティを確保できるという。

                                                      Microsoft、安全で高効率のプログラミング言語として「Rust」を高く評価
                                                    • 仮想マシンのメモリを、ネットワーク経由でほかのサーバから拝借して増やせる「VMware Cluster Memory」、VMwareが開発中

                                                      仮想マシンのメモリを、ネットワーク経由でほかのサーバから拝借して増やせる「VMware Cluster Memory」、VMwareが開発中 VMwareは、仮想マシンに別のサーバに搭載されているメモリをネットワーク経由で利用する能力を持たせることで、ホストサーバが搭載する物理メモリ以上のメモリ容量を仮想マシンで利用できるようにする「VMware Cluster Memory」機能を開発していることを、VMworld 2019 USのセッションで明らかにしました。 RDMAを使って高速に別サーバのメモリにアクセス 「VMware Cluster Memory」実現の背景には、ネットワークの高速化が進んだことで、ネットワーク経由でのリソースアクセスのレイテンシがマイクロセカンドレベルにまで縮小し、ネットワーク経由でメモリにアクセスするRDMA(Remote Direct Memory Acc

                                                        仮想マシンのメモリを、ネットワーク経由でほかのサーバから拝借して増やせる「VMware Cluster Memory」、VMwareが開発中
                                                      • Pythonで省メモリに大量の文字列を扱う工夫 - MNTSQ Techブログ

                                                        たくさんの文字列(や離散的な符号列)をメモリに載せないといけないんだけど、いろんな制約があって通常のList[str]では載らない…ということありませんか?(まぁあんまりなさそうですね) たまたまそういうことがあったので、その際に検討した内容をまとめておきます TL;DR メモリをもっと増やしましょう 富豪的に解決できるならいつでもそれが最高です しかし、世の中それでなんとかならんこともたくさんあります 用途があうのであれば専用のデータ構造を採用する 例えばもし共通のprefixやsuffixが存在し、順序に興味がなければtrie treeなどが使えます 例えば、弊社であれば、法人名をメモリに持ちたいなんてときもあります。そういうときに法人名の辞書をtrieで持ったりすることがあります 「株式会社」「一般財団法人」や「銀行」といった共通語がたくさんでてくるのでtrie treeでごりごり削

                                                          Pythonで省メモリに大量の文字列を扱う工夫 - MNTSQ Techブログ
                                                        • JVM入門 -メモリ管理編-

                                                          関ジャバ'19 7月度 - connpass https://kanjava.connpass.com/event/134133/ 登壇資料

                                                            JVM入門 -メモリ管理編-
                                                          • 「ゆみみみっくす」発売30周年メモリアルページ

                                                            竹本泉先生原作のメガCD用ゲーム「ゆみみみっくす」が発売されて30年になります。 このページでは、「ゆみみみっくす」開発当初の思い出を書いてみたいと思います。 私は基本プログラマーなので技術的な話が中心になりますがご了承ください。あと、これは非公式な文章なので映像資料はありません。長い文章になりますが楽しんで頂ければ幸いです。 CD-ROMゲーム前夜 メガCDが出る前のゲームアーツでは、ソフトはほとんどフロッピーディスクで販売していました。 その容量の少なさは誰の目にも明らかで、当時ゲームアーツの社長だった宮路洋一氏も早くからCD-iに興味を示していました。 しかしCDになると今度は容量が大きすぎ、それまでのゲームとは全く別なコンテンツ作りが求められるとも予想していました。宮路洋一氏も当時、「大容量プログラムを作るのは大変だけど映像なら埋められる」と言っていました。 CD-ROM搭載のゲー

                                                            • 「Rust」言語はCよりも遅いのか、研究者がベンチマーク結果を解説

                                                              「C」や「C++」に代わるシステムプログラミング言語として「Rust」が注目を集めている。メモリ安全性が高く、メモリ破壊バグといった脆弱(ぜいじゃく)性を作り込みにくいからだ(関連記事)。 ただし、システムプログラミング言語では、高い処理性能が必須条件であり、これがCやC++が使われ続けている理由となっている。Rustはどの程度「速い」のだろうか。 ドイツのミュンヘン工科大学で博士課程の学生であるポール・エメリク氏は2019年9月9日、Rustで作成したデバイスドライバの性能評価をGitHubで発表した。 同氏のグループはさまざまな言語で同じ機能を備えたデバイスドライバを記述し、性能を比較している。 何が性能低下を引き起こしているのか 性能評価用に作成したのは、Intelのイーサネットコントローラー向けのLinux用デバイスドライバだ(ixgbeタイプ)。 エメリク氏は解説の冒頭で研究に取

                                                                「Rust」言語はCよりも遅いのか、研究者がベンチマーク結果を解説
                                                              • golangとDockerとOOM — KaoriYa

                                                                golangで書いたプログラムをDockerで動かしOOMが発生した際になるべく情報を残して殺される方法を紹介します。 2020/08/16追記: この記事の内容はgolangに関してはやや現実的ではなくなってしまいました。 詳しくは続編を参照してください。 TL;DR golang製のプログラムは仮想メモリ(VSZ)の確保に失敗するとgoroutineのダンプを吐いて死ぬ DockerのOOMはRSSベースで検出時にSIGKILLを投げてくる Docker利用時にVSZで制限をかけるスクリプトを書いた golang製のプログラムはlinux-amd64において最低でも101MBのVSZを要求する VSZの制限がそれより小さいと当然起動できない 実際のRSSは3MB程度で起動する Background コンテナ内で動いているプロダクション上のgolang製のプログラムが時々OOMに殺されて

                                                                • 今、外部メモリスロットを備えたスマートフォンが減っている理由

                                                                  近年のスマートフォンでは、iPhoneだけでなく、Android端末でも外部メモリスロットを使用できない機種も多く存在している。その理由はなぜか、考察したい。 外部メモリスロットを搭載しないスマートフォンの代名詞として、AppleのiPhoneが挙げられる。加えて近年ではAndroidスマートフォンにおいても、10万円クラスのハイエンド機種を中心に外部メモリスロットを利用できない機種が販売されている 2021年、日本でキャリアが発売した10万円以上のスマートフォンにて、外部メモリスロットを利用できる機種は、ソニーのXperiaシリーズとシャープのAQUOS R6(ソフトバンクより発売のLEITZ PHONE1を含む)にとどまった。SIMロックフリーで展開されたハイエンド機でもASUS Zenfone 8 Flipに限られる。 ハイエンドと呼ばれるスマートフォンで外部メモリスロットが利用でき

                                                                    今、外部メモリスロットを備えたスマートフォンが減っている理由
                                                                  • 実践 9 つのメモリリークどう見つける?/ How to detect 9 types of memory leaks?

                                                                    iOS Test Online 2022/10/28 https://testonline.connpass.com/event/261910/

                                                                      実践 9 つのメモリリークどう見つける?/ How to detect 9 types of memory leaks?
                                                                    • 「別プロセスの PHP が今何をしているか」を実況するプログラムを PHP で作った - Qiita

                                                                      0 fgets <internal>:-1 1 <main> <internal>:-1 0 fgets <internal>:-1 1 <main> <internal>:-1 0 fgets <internal>:-1 1 <main> <internal>:-1 ... 0 time_nanosleep <internal>:-1 1 PhpProfiler\Lib\Loop\LoopMiddleware\NanoSleepMiddleware::invoke /home/sji/work/php-profiler/src/Lib/Loop/LoopMiddleware/NanoSleepMiddleware.php:33 2 PhpProfiler\Lib\Loop\LoopMiddleware\KeyboardCancelMiddleware::invoke /home/sji/

                                                                        「別プロセスの PHP が今何をしているか」を実況するプログラムを PHP で作った - Qiita
                                                                      • 【PoC編】XSSへの耐性においてブラウザのメモリ空間方式はLocal Storage方式より安全か? - Flatt Security Blog

                                                                        はじめに こんにちは。 セキュリティエンジニアの@okazu-dm です。 この記事は、Auth0のアクセストークンの保存方法について解説した前回の記事の補足となる記事です。前回の記事の要旨をざっくりまとめると以下のようなものでした。 Auth0はデフォルトではアクセストークンをブラウザのメモリ空間上にのみ保存するin-memory方式であり、XSSへの耐性のなさ等の理由でlocalStorageで保存することを推奨していない しかし、XSSでアクセストークンを奪取できるのはin-memory方式でも同じのはず(検証は行いませんでした)。localStorage方式を過度に忌避する必要はないのではないか なお、Flatt Securityの提供するセキュリティ診断はAuth0に限らずFirebase AuthenticationやAmazon CognitoなどのIDaaSのセキュアな利用

                                                                          【PoC編】XSSへの耐性においてブラウザのメモリ空間方式はLocal Storage方式より安全か? - Flatt Security Blog
                                                                        • Linuxのfree コマンドの見方とオプション ~availableやbuff/cacheの定義~

                                                                          メモリの状態確認コマンド freefree コマンドはメモリの利用状態を確認することができます。 例えば以下のように表示されます。(数値の単位は KiB= 1024 Bytes) [root@localhost ~]# free total used free shared buff/cache available Mem: 3868920 197528 3402296 8680 269096 3444844 Swap: 839676 0 839676ヘッダ (total, used, free, shared, buff/cache, available) のそれぞれの関係は下図の通りです。 このコマンドで、メモリの空き状況を確認したいのであれば、free を見るよりも available を見ましょう。 というのも、Linux の特性として「空きメモリを無駄にしない」という設計思想の元

                                                                            Linuxのfree コマンドの見方とオプション ~availableやbuff/cacheの定義~
                                                                          • Why Is SQLite Coded In C

                                                                            Note: Sections 2.0 and 3.0 of this article were added in response to comments on Hacker News and Reddit. Since its inception on 2000-05-29, SQLite has been implemented in generic C. C was and continues to be the best language for implementing a software library like SQLite. There are no plans to recode SQLite in any other programming language at this time. The reasons why C is the best language to

                                                                            • Javaエンジニアだった私が当時困ったRustのコンセプト - paild tech blog

                                                                              お手伝いの @helloyuki_ です。今回はポエムです。 今回は、Rust を始めた当時、プログラミング言語は Java しかまともに触ったことがない新米若手 Java エンジニアだった私[*1]が「見たことがなく、使いどころがわからなく理解が難しい」と感じたポイントについて紹介します。対象とするソフトウェアのレイヤーが低いか高いかを問わず、とにかく Rust をやってみて理解するまでに時間がかかり、難しいと感じたポイントについて紹介します。 Rust の「メモリ安全」って、結局何 所有権とライフタイム 参照 スマートポインタ 代数的データ型 関数が第一級である モジュールシステム self 型クラスという側面でのトレイト まとめ 私が Rust をある程度使いこなせるようになるまでの話 「難しい」って何?、の話 Rust の「メモリ安全」って、結局何 そもそも論ですが、Rust が取

                                                                                Javaエンジニアだった私が当時困ったRustのコンセプト - paild tech blog
                                                                              • Goで開発した配信サーバーのメモリ使用量問題に向き合う - Mirrativ Tech Blog

                                                                                こんにちは。ストリーミングチームの松本です。 Mirrativのストリーミングチームは、低遅延配信や、通知ぼかしというような機能を追加するため、配信のorigin serverの前段にtranscoder serverというものを導入してきました。 tech.mirrativ.stream tech.mirrativ.stream transcoder serverはGoによる内製のミドルウェアであり、主に映像の変換を行う目的で作られました。現在は配信プロトコルの変換(既存プロトコル -> 低遅延プロトコル)などを行っています。また、実際にはサーバー上のDockerコンテナ内で動作しています。 transcoder serverを展開していくにあたり、メモリ使用量が常に増え続ける問題が起きていたため、その際に直面したGoの実メモリ使用量に関する話を書きたいと思います。 メモリ使用量の増加問

                                                                                  Goで開発した配信サーバーのメモリ使用量問題に向き合う - Mirrativ Tech Blog
                                                                                • 米ホワイトハウス「将来のソフトウェアはメモリ安全になるべき」と声明発表。ソフトウェアコミュニティに呼びかけ

                                                                                  米ホワイトハウス「将来のソフトウェアはメモリ安全になるべき」と声明発表。ソフトウェアコミュニティに呼びかけ 米ホワイトハウスの国家サイバー局長室(The White House Office of the National Cyber Director:ONCD)は、サイバー空間における攻撃対象領域を積極的に削減する目的で、テクノロジーコミュニティやソフトウェアコミュニティに対してメモリ安全(Memory Safe)なソフトウェアの実現を積極的に呼びかけるプレスリリース「Future Software Should Be Memory Safe」(将来のソフトウェアはメモリ安全になるべき)を発表しました。 プレスリリースの中で、国家サイバー局長Harry Coker氏は「私たちは国家として、サイバースペースにおける攻撃対象領域を減らし、あらゆる種類のセキュリティバグがデジタルエコシステムに

                                                                                    米ホワイトハウス「将来のソフトウェアはメモリ安全になるべき」と声明発表。ソフトウェアコミュニティに呼びかけ