並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 3910件

新着順 人気順

performanceの検索結果321 - 360 件 / 3910件

  • サイボウズさんの開運研修(データベース)で話してきました

    2024 ( 30 ) 12月 ( 5 ) 11月 ( 1 ) 9月 ( 4 ) 8月 ( 2 ) 5月 ( 1 ) 4月 ( 3 ) 3月 ( 6 ) 2月 ( 1 ) 1月 ( 7 ) 2023 ( 20 ) 12月 ( 3 ) 11月 ( 3 ) 10月 ( 1 ) 8月 ( 1 ) 5月 ( 2 ) 4月 ( 2 ) 3月 ( 3 ) 2月 ( 5 ) 2022 ( 27 ) 12月 ( 5 ) 10月 ( 1 ) 9月 ( 1 ) 8月 ( 5 ) 7月 ( 4 ) 6月 ( 3 ) 4月 ( 1 ) 3月 ( 3 ) 2月 ( 2 ) 1月 ( 2 ) 2021 ( 22 ) 12月 ( 4 ) 10月 ( 2 ) 9月 ( 6 ) 7月 ( 1 ) 6月 ( 3 ) 5月 ( 3 ) 東京都オープンデータカタログサイトのCSVを使ってLOAD DATA LOCAL INFIL

    • 数十億のレコードを持つ 5年目サービスの 設計と障害解決

      Kaigi on Rails 2023

        数十億のレコードを持つ 5年目サービスの 設計と障害解決
      • Apple、M1後継を多数準備中か Intelハイエンド上回る32高性能コア、NVIDIAやAMDの数倍性能のGPUも

        Appleの半導体担当エンジニアらは、M1チップ搭載Macの後継となる幾つかのプロセッサの開発に取り組んでおり、期待通りならIntel製チップを搭載した最新機種をパフォーマンスで大幅に上回る可能性があると、計画の非公開を理由に複数の関係者が匿名を条件に明らかにしたと、Bloombergが伝えている。 プロセッサの次期シリーズは2021年の春と秋のリリースが計画されており、MacBook Proのアップグレード版やiMacのエントリーレベル用に、16個もの高性能コアと4個の高効率コアを備えた設計に取り組んでいるそうで、製造状況次第で8個か12個の高性能コアのみが有効になるバリエーションも用意する予定だと関係者は話しているそうだ。 2021年後半に計画されているハイエンドデスクトップコンピュータと2022年までに発売が計画されている新しいハーフサイズのMac Pro向けに、32個もの高性能コア

          Apple、M1後継を多数準備中か Intelハイエンド上回る32高性能コア、NVIDIAやAMDの数倍性能のGPUも
        • 顧客が本当に必要だったもの - パフォーマンス改善編 / Make what is needed

          # 失敗から学ぶRDBの正しい歩き方 - https://amzn.to/4e0CqfH

            顧客が本当に必要だったもの - パフォーマンス改善編 / Make what is needed
          • シンプルかつ高速な文字列照合アルゴリズムを紹介します - エムスリーテックブログ

            こんにちは! エンジニアリンググループ マルチデバイスチーム 新卒1年目の小林です。 エムスリーでは、2週間に1度、Tech Talkという社内LT会(現在はリモートで)が開催されています。これは、とある回の発表テーマリストです。 Tech Talkのとある回の発表テーマリスト このように、最近エムスリーでは文字列が流行っている(?)ようなので、その勢いに乗って私も文字列照合アルゴリズムについて書きたいと思います!(業務とは全然関係ない話です) Knuth-Morris-PrattやBoyer-Mooreアルゴリズムは解説記事がたくさん出ていると思うので、この記事ではシンプルかつ高速なQuick-SearchとQuite-Naiveアルゴリズムについて説明し、速度比較を行った結果についてご紹介します。 文字列照合アルゴリズムとは テキストとパターンという文字列が与えられたときに、中に出現す

              シンプルかつ高速な文字列照合アルゴリズムを紹介します - エムスリーテックブログ
            • Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary

              先日のKaigi on Rails中の雑談として @ima1zumi さんから、RDBに対して秒間1000コミットぐらいで処理が詰まってる場合ってどうするのが良いのか、という質問を受けまして、雑談の中で色々答えてたんですが、せっかくだから記事にまとめておこうと思います。 ちょっとしたKaigi Effectって感じですね。 今回のKaigi on Railsのトークの中では、 数十億のレコードを持つ5年目サービスの設計と障害解決 by KNR - Kaigi on Rails 2023 の話なんかは割と関連がありますね。ユーザーの行動履歴というのは、ユーザー数 * N * タイムスパンで増えていくレコードなので、書き込みとデータ量が爆発しがちです。トランザクションで堅牢に処理しなければいけないケースもそこまで多くないので、RDBだと書き込みに対する処理が過剰なケースが多い。実際のところこの

                Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary
              • Fastlyについて知らないかもしれない30のこと – TravelBook Tech Blog

                いわくら君が書いてくれた通り 、トラベルブックではFastlyを導入しました。Fastlyについて初めて分かったことがたくさんありました。列挙してみたら30個もあったので、一個ずつ紹介してみることにします。 そもそもFastlyとは そもそもFastlyとはCDNのサービスです。現在では後述するCompute@Edgeを主力としたサーバーレス環境を推していますが、とにかくCDNです。今回は www.travelbook.co.jp ドメイン全てに対して適応し、全てのHTMLページをFastly経由にしました。 もともとVarnishでページをキャッシュしていた部分をFastlyに置き換えることで冗長化・安定化、また、パフォーマンスアップを図ります。 加えて、これまでキャッシュの対象外だったページも、この際TTL付きでキャッシュする、というのが今回やったことです。 詳しくはいわくら君の書いた

                  Fastlyについて知らないかもしれない30のこと – TravelBook Tech Blog
                • Pythonが速度改善に本気出すと聞いたので恒例のたらい回しベンチをとってみたら、RubyがYJITですごく速くなっていて驚いた話 - Smalltalkのtは小文字です

                  2022-09-09改訂: gcc バージョンが古すぎたのと、C が内部計測でなかった点を改め計測しなおしました。結果、Rust は C より速くはなくなりました。紛らわしいことで、ごめんなさい。また、gcc のバージョンアップに伴い、Python および Ruby についてはビルドと計測をしなおしたので、これらも少し速い値に変わっています。この点もどうぞあしからず。 2022-09-10追記:ご要望のあった Python numba.njit 使用時と Go の結果を追加しました。PHP は JIT 有効化が面倒だったので断念しました^^; 2022-09-10追記2:C の計測で clock() を使うのはフェアではないという指摘がありましたので、念のため clock_gettime() を使用したコードに差し替えました。結果に大きな差はありません。 2022-09-10追記3:PHP

                    Pythonが速度改善に本気出すと聞いたので恒例のたらい回しベンチをとってみたら、RubyがYJITですごく速くなっていて驚いた話 - Smalltalkのtは小文字です
                  • Webブラウザ上で3D/2Dモデルをぬるぬる動かせる「Babylon.js 6」正式版に。レンダリング性能が最大50倍、WASM化した物理演算エンジン搭載、液体のレンダリングも

                    マイクロソフトは、Webブラウザ上で2Dや3Dモデルの高速なレンダリングなどを可能にするオープンソースのJavaScriptライブラリ「Babylon.js」の最新版「Babylon.js 6.0」正式版をリリースしました。 We are thrilled to officially announce the release of Babylon.js 6.0! The web just got a WHOLE lot more exciting!https://t.co/q0JVsQaTSd#babylonJS6 #gamedev #indiedev #webdev #Metaverse #3D #webgl #gamedevelopment #IndieGameDev #webdeveloper pic.twitter.com/owV6YLp1zc — Babylon.js (@bab

                      Webブラウザ上で3D/2Dモデルをぬるぬる動かせる「Babylon.js 6」正式版に。レンダリング性能が最大50倍、WASM化した物理演算エンジン搭載、液体のレンダリングも
                    • 待望の日本語版発売!『詳解システムパフォーマンス 第2版』Linuxが深く学べる名著を全力で推したい - LIVESENSE ENGINEER BLOG

                      こんにちは、かたいなかです。 『詳解システムパフォーマンス 第2版』の日本語版が2023/01/24についに発売されました! www.oreilly.co.jp 私個人は原著で読んだのですが、他の人に強くおすすめしたくなるような内容でした。そこで、日本語版の発売に合わせてどのあたりが良かったのかなど、内容をご紹介します。 TL;DR パフォーマンス改善タスクの課題感 どんな本? この本のどこがいい? Linuxの仕組みを広く深く学べる パフォーマンスの観点での情報が豊富 どんなひとにおすすめできるか? クラウドやコンテナが当たり前になってからSREになった人 Linuxの知識をアップデートしたいエンジニア 最後まで読み切るには? あせらずゆっくり読んでいく Linuxの前提知識を仕入れてから読む 終わりに TL;DR 『詳解システムパフォーマンス 第2版』は、Linuxを深く学んで仕事に活

                        待望の日本語版発売!『詳解システムパフォーマンス 第2版』Linuxが深く学べる名著を全力で推したい - LIVESENSE ENGINEER BLOG
                      • MySQLのSQLクエリチューニングの要所を掴む勉強会を開催しました! - ANDPAD Tech Blog

                        こんにちは!DBREの福間(fkm_y)です。先月、弊社でデータベースの技術顧問をして頂いてる三谷(mita2)さんに開発本部向けの「MySQL SQLチューニング」勉強会を実施していただきました。 今回はMySQLの得意不得意なことの説明やSQLチューニングの流れ、具体的な事例を元にした対応例、また最近話題のHTAPな製品も紹介していただきとても参考になったのでポイントをおさえてレポートをお伝えします! 開催背景 本編 MySQL の得意なこと、苦手なこと データベースのチューニング手段と特徴 SQLチューニングの流れ インデックス SQLチューニング例 インデックスフルスキャンとカバーリングインデックス ソート まとめ 当日の資料 さいごに 過去開催されたデータベース勉強会レポート 開催背景 弊社では三谷さんによるデータベース勉強会を定期的に開催しています。数年前にも同じテーマで勉強会

                          MySQLのSQLクエリチューニングの要所を掴む勉強会を開催しました! - ANDPAD Tech Blog
                        • CI での Docker Build のベストプラクティスを考えてみた

                          要約 Docker in Docker な CI では、以下の Docker Build をオススメします。 スクリプト Buildx を使う Buildx を使えないならば、BuildKit + –cache-fromオプションを使う Dockerfile ステージ間の依存を弱くする(依存インストールとビルドを分ける) 中間イメージも軽量化する 不要なキャッシュを削除 ファイル変更差分によりますが、これらにより最大 1/3 へビルド時間を短縮しました。 はじめに 『ホットペッパービューティー』美容クリニックのカウンセリング予約サービスのバックエンドを担当している安達です。 新卒として 4 月に入社して、5 月中旬に美容クリニックに配属され、すでに約 4 ヶ月が過ぎました。 まず、チーム内で自分が活躍できる庭を作りたかったため Docker について詳しくなろうと思いました。 そこで、CI

                            CI での Docker Build のベストプラクティスを考えてみた
                          • どうして Fastify は生の Node.js より速いの? : (*x).b=z->a+y/c

                            Fastify 速いですね Express が hapi より遅いのは意外でした Koa は本体だけだと Express 以上に何もしないので その分速めです よくみると驚きなのが http.Server より Fastify が速いというところ http.Server はフレームワークを使わない Node.js 自体の API です Koa や hapi はこれを中で使っています これより速いということは Fastify は http.Server は使わずに net などを使って ソケット通信部分を直接操作しているのでしょうか? http.Server を使ってない?Fastify のソースコードを見た限りでは 特に設定をしなければ http.createServer でサーバを作成しています つまり http.Server を使っています https://github.com/fas

                              どうして Fastify は生の Node.js より速いの? : (*x).b=z->a+y/c
                            • Repro で遭遇した Aurora MySQL にまつわるトラブル 5 選 - Repro Tech Blog

                              こんにちは、Platform Team の荒引 (@a_bicky) です。前回は続・何でも屋になっている SRE 的なチームから責務を分離するまでの道のり 〜新設チームでオンコール体制を構築するまで〜という話を書いたんですが、今回は Repro の運用に 7 年以上携わる中で私が遭遇して印象的だった Aurora MySQL 絡みのトラブルについて紹介します。 Aurora MySQL が詰まってデータ処理のスループットが下がるとか、API のレスポンスが遅くなるとか、ALTER TABLE する度にアプリケーションエラーが発生するとか、胃が痛くなる胸が熱くなる話が多いので、Aurora MySQL を利用していなくても楽しんでいただけるのではないかと思います。Aurora MySQL を利用している方であれば参考になる情報もあるでしょうし、通常の MySQL にも適用可能な話もあります

                                Repro で遭遇した Aurora MySQL にまつわるトラブル 5 選 - Repro Tech Blog
                              • WasmでJavaScriptを動かす意義 - id:anatooのブログ

                                ある時Twitterのタイムラインを見ていたら、「JavaScriptをWasm化して動かす意味がわからない」というような意見を見かけました。JavaScriptはブラウザに搭載されているV8のようなJavaScriptエンジンによって高速に動作するので、わざわざWasm化してもパフォーマンスは劣化するのになぜなのか?という話なんですが、これは「Wasm化=パフォーマンスのため」という考えだと意義がわからないのでこの記事ではそれについて解説します。 JavaScriptをWasm化して動かすツールやライブラリとしては、Shopifyが開発しているJavyやquickjs-emscriptenなどがあります。JavaScriptをWasm化して動かすためには、ある特定のJavaScriptエンジンをWasm向けにビルドして動かす必要がありますが、そのような用途ではQuickJSというJava

                                  WasmでJavaScriptを動かす意義 - id:anatooのブログ
                                • 日本語LLMまとめ

                                  日本語LLMまとめ ​[ English | Français | 日本語 ] 日本語LLM・海外LLMのパラメータ数の推移。日本語モデルの情報は本記事、海外モデルの情報は LifeArchitect.ai の Models table を参照しています(ただし、図のスペース上一部のモデルは省略。また、海外モデルのパラメータ数は推測値を含む)。修正・追加等ありましたらお知らせ下さい。この記事は、一般公開されている日本語LLM(日本語を中心に学習されたLLM)および日本語LLM評価ベンチマークに関する情報をまとめたものです。情報は、有志により収集されており、その一部は論文や公開されているリソースなどから引用しています。 以下の点について、あらかじめご理解とご了承をお願いいたします 本記事の内容は、完全性や正確性を保証するものではありません。これらの情報は予告なく変更されることがあり、また最新

                                    日本語LLMまとめ
                                  • React の新しい概念「トランジション」で React アプリの応答性を改善する - 30歳からのプログラミング

                                    React v18 には多くの改善や新機能が盛り込まれる予定だが、そのなかでも特に注目を集めると思われるのが、Concurrent Features と呼ばれる一連の機能。 これらの機能を使うことで、コンポーネントのレンダリングについてより柔軟な設定が可能になり、上手く使えばパフォーマンスや UX の向上を実現できる。 この記事では Concurrent Features のひとつであるstartTransitionと、それを使いこなす上で重要な概念である「トランジション」について説明する。 この記事ではコンセプトの説明や具体例の提示のみを行う。詳細を知りたい場合は以下を参照。 一年前の記事であるため古くなっている部分もあるが、根幹は大きく変わっていないと認識している。 なお、上記の記事には「Concurrent Mode」という用語がタイトルに入っているが、これは今後は使われなくなってい

                                      React の新しい概念「トランジション」で React アプリの応答性を改善する - 30歳からのプログラミング
                                    • Pythonで省メモリに大量の文字列を扱う工夫 - MNTSQ Techブログ

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

                                        Pythonで省メモリに大量の文字列を扱う工夫 - MNTSQ Techブログ
                                      • M1とRosetta 2が速い理由の考察という名目の妄想

                                        Apple SiliconのM1が速いと話題だ。単に速いというだけでなくRosetta 2を用いてx86_64バイナリをARMに変換して実行した時にIntel CPUで直接実行した時より速くなる場合があるというのだから驚きだ。その要因を考察するにつれ一つの仮説に思い至ったのでここに記しておく。 その要因とはRISCとCISCの違いだ。殴り書きなので詳細は省くが、CISCのほうがやってることが複雑で単純な実行速度という意味ではRISCに敵わない。特にRISCの固定長命令という特徴がカギを握る。 CISCの代表がIntelのx86である。しかし2000年ごろにはCISCはもう駄目だ的なことが声高に叫ばれていたが、気が付けばx86はそのまま栄華を極め2020年にまで至ってしまった。そこまで持ちこたえた理由の1つがRISCとCISCの境目がなくなる Pentium Proの逆襲に書かれているのだが

                                          M1とRosetta 2が速い理由の考察という名目の妄想
                                        • GitHub ActionsでDocker Buildするときのキャッシュテクニック - cockscomblog?

                                          GitHub Actionsでdocker buildすることが多い。このときのキャッシュをどうするかという話題。 基本 GitHub Actionsでdocker buildしてAmazon ECRにdocker pushする、典型的な.github/workflow/docker-push-to-ecr.ymlはこういう感じ。 name: Push to Amazon ECR on: push: branches: [ 'main' ] jobs: docker: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: docker/setup-buildx-action@v1 - name: Configure AWS credentials uses: aws-actions/configure-aws-c

                                            GitHub ActionsでDocker Buildするときのキャッシュテクニック - cockscomblog?
                                          • なぜReactは標準でComponentをmemo化しないのか?

                                            はじめに 普段はスタートアップでBtoB SaaSの開発をしているtaroと申します。 今回は、Reactのmemo化について考えている中で抱いた 「なんでReactは標準でComponentをmemo化していないんだろう?」 という疑問を解消するために、色々と調べたり考えたりした内容をまとめました! 途中でrenderのタイミングや、memo化で再renderが抑えられる理由などの前提知識の復習も含めていて、memo化について詳しくない方もmemo化の勉強にもなると思うので、ぜひぜひ読んでみてくださいー! なぜこんな疑問を抱いたのか? まずはそもそも僕がタイトルにあるような疑問を抱いた背景です。 疑問を抱くまでの思考プロセスはこんな感じです。 「再renderが余分に走ってて画面が重いから最適化したいなー」 →「React.memo()を使ってComponentをmemo化しよう!」 →

                                              なぜReactは標準でComponentをmemo化しないのか?
                                            • Engadget | Technology News & Reviews

                                              A Minecraft Movie trailer gives us our first look at Jason Momoa and Jack Black ahead of its 2025 release

                                                Engadget | Technology News & Reviews
                                              • A 10x Faster TypeScript - TypeScript

                                                While we’re not yet feature-complete, these numbers are representative of the order of magnitude performance improvement you’ll see checking most codebases. We’re incredibly excited about the opportunities that this massive speed boost creates. Features that once seemed out of reach are now within grasp. This native port will be able to provide instant, comprehensive error listings across an entir

                                                  A 10x Faster TypeScript - TypeScript
                                                • perfを用いたシステムのボトルネック解析方法

                                                  背景システムの処理速度を改善するために、ボトルネック解析を行う必要があった。 ボトルネック解析の方法と、プロファイリングに使用したperfの使用方法に関して調査を行った。 記事の目的perfを使用し、ボトルネック解析を行う ここでは、perfの導入方法及び使用方法について記載する。 perfとはperf(Performance analysis tools for Linux)とはLinuxカーネル2.6.31以降で使用可能なLinuxの性能解析ツールである。 実行されているプロセス毎のCPU使用率やプロセス内で呼ばれている関数の割合などを調査できる。 利点gprofのように、プログラム作成時に専用のライブラリを入れたり、コンパイル時にオプションをつける必要がない フレームグラフにして、ビジュアライズできる 導入方法(Ubuntu編)Ubuntu16.04へperfを導入する手順について記

                                                    perfを用いたシステムのボトルネック解析方法
                                                  • React 18に備えるにはどうすればいいの? 5分で理解する - Qiita

                                                    React 18はReactの次期メジャーバージョンで、2021年の6月にalpha版が、11月にbeta版が出ました。また、Next.js 12でもReact 18のサポートが実験的機能として追加されました。React 18の足音がだんだんと我々に近づき、アーリーアダプターではない皆さんの視界にもいよいよReact 18が入ってきたところです。 特に、React 18ではServer-Side Rendering (SSR) のストリーミングサポートが追加されます。現在ReactでSSRを行いたい人の強い味方としてNext.jsが存在しているわけですが、Next.js 12でもReact 18を通してストリーミングの恩恵を受けることができます(Next.jsではSSR Streamingと呼んでいるようです)。また、厳密にはReact 18とは別ですが、React Server Comp

                                                      React 18に備えるにはどうすればいいの? 5分で理解する - Qiita
                                                    • 北村ヂン on Twitter: "開会式公式プログラム届いたー。みんなを昂らせたゲームミュージックの扱いは一行、「イマジン」とか謎パフォーマンスの方が重要だったことが分かる内容でした。あと、やっぱりほぼ小林賢太郎の考えた内容なんじゃん!(発売中止になった事情が分か… https://t.co/UXGCYCuRim"

                                                      開会式公式プログラム届いたー。みんなを昂らせたゲームミュージックの扱いは一行、「イマジン」とか謎パフォーマンスの方が重要だったことが分かる内容でした。あと、やっぱりほぼ小林賢太郎の考えた内容なんじゃん!(発売中止になった事情が分か… https://t.co/UXGCYCuRim

                                                        北村ヂン on Twitter: "開会式公式プログラム届いたー。みんなを昂らせたゲームミュージックの扱いは一行、「イマジン」とか謎パフォーマンスの方が重要だったことが分かる内容でした。あと、やっぱりほぼ小林賢太郎の考えた内容なんじゃん!(発売中止になった事情が分か… https://t.co/UXGCYCuRim"
                                                      • 自由と責任を開発チームにもたらしたら開発速度が上がった話

                                                        自由と責任を開発チームにもたらしたら開発速度が上がった話

                                                          自由と責任を開発チームにもたらしたら開発速度が上がった話
                                                        • const Hoge: React.FC<Props>=()=>って書いてたら思考停止系と言われたので調べた

                                                          VTeacher所属のSatokoです。 QAエンジニアとフロントエンドエンジニアを兼任しています。 2006年、まだホリエモン率いるライブドア(現LINE)のモバイルチーム(現LINE出澤社長がリーダー)に配属も、同年1月にライブドアショックがあって出社0日で失職。その後、サイバーエージェントやGREEなどを転々としてきたITバブルの残党(ナイスミドル系エンジニア)です😅 1.久しぶりにReactのプロジェクトに参加 リズミカルにキーボードを タタンッ! として、

                                                            const Hoge: React.FC<Props>=()=>って書いてたら思考停止系と言われたので調べた
                                                          • 令和にふりかえる C10K 問題

                                                            C10K 問題 (the C10K problem) は1999年に Dan Kegel が発表した文章、ならびにそこで提示された「問題」です。文章はその後も2000年代前半に何度か更新されているのですが、さすがに令和に読み返すと、当初の問題意識がわかりにくいところがあります。 2000年からの10年は、 ソフトウェア面では、select(2), poll(2) にかわる新しいシステムコールの実装と、それを使ったアプリケーションの普及 ハードウェア面では、x86 アーキテクチャの64ビット移行、仮想化命令の追加と、マルチコア化 さらにそこにクラウドも登場する、面白い時代でした。ここでは、それらの出来事を中心に、さらに、当時の雰囲気をつたえるような日本国内のブログやインタビュー記事をまとめることで、C10K 問題が、さまざまな側面から解決されていく流れを説明したいと思います。 書き足したいと

                                                            • ほんの少しHTMLを変更して検証したい時 – TravelBook Tech Blog

                                                              本番のサイトを眺めていて、「あーここのHTMLこうしたら、もっと速くなるのになー」って思う時ありますよね。 僕はあります。でも、検証するだけのために、プロダクトのコードを直接いじるのは大げさ。 そんな時に、wgetとmirrorというコマンドを使ってページをダウンロードして「ほんの少し」HTMLを変更しています。 紹介します(追記にLocal Overridesという「そのものズバリな」Chromeの機能も紹介してます)。 最近あった話です。特にCore Web Vitalsとか速度改善について。 トラベルブックのとあるページのスコアが落ちていて、Chrome DevToolsで観察してみると、どうもYouTubeの埋め込が足を引っ張っている。 表示領域外にも関わらずiframeの中身がロードされています。 これは直したい(本来なら本番へ上げる前に気づく仕組みを作りたいのですが、一旦置いて

                                                                ほんの少しHTMLを変更して検証したい時 – TravelBook Tech Blog
                                                              • 計測する前に観察せよ ~ Observe. Don't measure for monitoring until you've observed - An Epicurean

                                                                エンジニア大好き「推測するな、計測せよ」。これは、Plan 9, UTF-8やGoの作者としても知られる、Rob Pike氏の Rob Pikes's 5 Rules of ProgrammingのRule 3.に由来すると認識している。以下に原文を引用する。 Rule 3. Measure. Don't tune for speed until you've measured, and even then don't unless one part of the code overwhelms the rest. Rob Pike's 5 Rules of Programming 訳すと以下のようになる。 「計測せよ。計測するまでチューニングをするな、そしてそこが支配的じゃないならチューニングするな。」 要は「チューニングする前に計測せよ」という主張で「推測」と言う言葉は出てこない。なの

                                                                  計測する前に観察せよ ~ Observe. Don't measure for monitoring until you've observed - An Epicurean
                                                                • Dockerに関するキャッシュたち

                                                                  はじめに Dockerを用いた開発では、適切にキャッシュを用いることで高速にビルド・開発できます。そのための知見は様々な記事で共有されており、ありがたい限りです。 しかし、「Dockerのキャッシュ」と言っても開発時とCI・CDでは行うことが違います。 この記事ではDockerを用いた開発における、各段階のキャッシュ機能を確認したいと思います。 主に「Dockerのキャッシュ」というと以下の4つに分類できると思いますので、それぞれについて解説していきます。 Dockerのレイヤーキャッシュを活かす a. COPY・ADDの順番 b. dockerignoreの設定 c. マルチステージビルド buildkitによるキャッシュ a. --mount=type=cache CI・CDにおいてのキャッシュ a. 前回のビルドキャッシュを持ち越して使う リモートキャッシュ a. 開発者が初めてビル

                                                                    Dockerに関するキャッシュたち
                                                                  • グリーン・デイの年越しパフォーマンスでMAGAが炎上。グリーン・デイ批判をしたイーロン・マスクにバンドが反撃。 (中村明美の「ニューヨーク通信」)-rockinon.com|https://rockinon.com/blog/nakamura/208484

                                                                    すでにご存知の方も多いと思うけど、TV局で放送されたグリーン・デイの年越しパフォーマンスが炎上した。イーロン・マスクまで皮肉を言うような事態があったのだけど、この週末にグリーン・デイがマスクに反論した。 知らない方のためにその経緯を簡単に説明すると。 アメリカの民放局ABCで毎年放送される年越し番組”Dick Clark’s New Year’s Rockin’ Eve with Ryan Seacrest 2024”にグリーン・デイが出演し、パフォーマンスを行った。映像はこちら。 その中で、”アメリカン・イディオット”の歌詞を変えてMAGAを批判。上の映像のちょうど1分くらいのところだ。 ビリー・ジョー・アームストロングが、もともと「俺はレッドネック(アメリカの白人保守派労働者階級)の問題とは関わりたくない」と歌うところを、「俺は、MAGAの問題とは関わりたくない」に変えて歌ったのだ。年

                                                                      グリーン・デイの年越しパフォーマンスでMAGAが炎上。グリーン・デイ批判をしたイーロン・マスクにバンドが反撃。 (中村明美の「ニューヨーク通信」)-rockinon.com|https://rockinon.com/blog/nakamura/208484
                                                                    • useCallbackはとにかく使え! 特にカスタムフックでは - uhyo/blog

                                                                      Reactには、パフォーマンス最適化のためのAPIがいくつかあります。具体的にはReact.memo、useMemo、そしてuseCallbackです。 React.memoで囲まれた関数コンポーネントは、propsが以前と変わっていない場合に再レンダリングが抑制されます。 また、useMemoやuseCallbackは、関数コンポーネント内での値の再計算を抑制する効果を持ちます。 これらは最適化のためのツールなので、「過度な最適化」を避けるように啓蒙する言説がよく見られます。 すなわち、ちゃんと本当に最適化のために必要なところにだけこれらを使おうということです。 特に、React.memoはpropsが以前と変わっているかどうかを判定するためのオーバーヘッドがあるし、useMemoやuseCallbackもフック呼び出しのオーバーヘッドがあります。 意味がないところでReact.memo

                                                                        useCallbackはとにかく使え! 特にカスタムフックでは - uhyo/blog
                                                                      • Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog

                                                                        【IIJ 2023 TECHアドベントカレンダー 12/16の記事です】 この記事について 背景:TCP はコンピュータネットワークの通信において広く利用されているプロトコル・標準化された通信規格です。コンピュータは TCP/IP スタックと呼ばれるようなソフトウェアを実行することで、定められた規格に則って通信を行います。汎用 OS 環境では、TCP/IP スタックは多くの場合、カーネル空間に OS 機能の一部として実装されています。 課題:通信に関するソフトウェアの研究コミュニティでは、そのようなカーネル空間に実装されている TCP/IP スタックは、近年の高速な NIC の性能を十分に引き出すことが難しいという課題が指摘されてきました。 テクニックの紹介:当記事では、近年の研究コミュニティにおいて比較的一般的な高速化テクニックとされている「カーネルをバイパス(迂回)して TCP 通信を

                                                                          Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog
                                                                        • 詳解 システム・パフォーマンス 第2版

                                                                          本書は、エンタープライズとクラウド環境を対象としたオペレーティングシステムとアプリケーションのパフォーマンス分析と向上について解説します。 主にLinuxベースのオペレーティングシステムに含まれるツールとその使用例を通じてシステムパフォーマンスを引き出す手法を説明します。システム評価のためのベンチマーク、キャパシティプランニング、ボトルネックの解消について解説しスケーラビリティを制限する要因を発見、分析し、解決する方法を学びます。 第2版では、perf、Ftrace、BPFの解説が加わり、Linuxとクラウドコンピューティングについての説明が充実しました。 システムのパフォーマンスを向上させ、コストを削減し、レイテンシの外れ値を減らすための方法を学ぶ本書はエンジニア必携の一冊です。 まえがき 1章 イントロダクション 1.1 システムパフォーマンス 1.2 職種 1.3 作業 1.4 分析

                                                                            詳解 システム・パフォーマンス 第2版
                                                                          • 「プログラマーのためのCPU入門」は入り口として丁度よい!

                                                                            Google Analytics でサイト速度を計測する / Measure site speed with Google Analytics

                                                                              「プログラマーのためのCPU入門」は入り口として丁度よい!
                                                                            • strlen() の深淵 - Qiita

                                                                              あらまし strlen() という関数がある。御存知の通り、文字列の長さを算出する標準 C ライブラリの関数だ。 やってることは単純で、例えば以下のように実装できる。 size_t strlen_simple(const char* str) { const char* p = str; while (*p) ++p; return size_t(p - str); } '\0' が見つかるまでポインタを進め、初期位置との差分を返すだけだ。これで機能的には std::strlen() と同等である。 では、速度的にはどうだろう?適当にベンチマークを書いて MSVC 2022 でコンパイル&実行するとこうなった。

                                                                                strlen() の深淵 - Qiita
                                                                              • 受取期限の過ぎたデータをMySQL上から削除する話 | GREE Engineering

                                                                                こんにちわ。せじまです。今回は地味で泥臭い話をします。ただ、割と平易な内容かと思いますので、初学者の方にもオススメです。 はじめに ゲームでは、受取期限のついたログインボーナス的なものがよくあります。ユーザが期限までに受け取らないと、ユーザからそのデータは不可視になりますが、必ずしも、不可視になった瞬間にデータベースから直ちに削除される、というわけでもありません。バッチジョブか何かで、ガベージコレクションのように削除するケースが多いのではないでしょうか。 また、論理削除という概念もあります。論理削除についてはいろいろ意見や考え方があるかと思いますので、ここでそれについては論じませんが、「削除フラグが立ってユーザから不可視になった後、三ヶ月以上経過したデータを削除したい」みたいなことは、ゲームに限らず、しばしばあるんじゃないかなと思います。 こういった、ユーザから不可視になってしばらく経過し

                                                                                  受取期限の過ぎたデータをMySQL上から削除する話 | GREE Engineering
                                                                                • 負荷テスト on AWS のすすめ (AWS Summit Japan 2024 - Ministage session)

                                                                                  AWS Summit Japan 2024 にて、セキュリティ & One-AWS Zone ミニステージでの登壇資料です。 「負荷テストは、AWS を使ってどう楽になるか?」についてお話しました。スライド内のリンク類はコチラ→https://mabuchs.hatenablog.com/entry/…

                                                                                    負荷テスト on AWS のすすめ (AWS Summit Japan 2024 - Ministage session)