並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 178件

新着順 人気順

optimizationの検索結果41 - 80 件 / 178件

  • Reactのパフォーマンスチューニングの歴史をまとめてみた

    最近 React のパフォーマンスチューニング、特に再レンダリング抑制について調べたのでそのまとめです。 特に昔からおまじないとして書いていたことを、「なんであの書き方していたんだっけ」というのを調べてまとめました。 古いものを調べたのは、今あるチューニング方法とその当時の解決方法を比較したかったからです。 再レンダリングとはなにか 公式に説明があったのでそのまま引用します。(https://ja.reactjs.org/docs/optimizing-performance.html#avoid-reconciliation) React では、コンポーネントの props や state が変更された場合、React は新しく返された要素と以前にレンダーされたものとを比較することで、実際の DOM の更新が必要かを判断します。それらが等しくない場合、React は DOM を更新します

      Reactのパフォーマンスチューニングの歴史をまとめてみた
    • Rubyで最速のテンプレートエンジンを作る方法 - k0kubun's blog

      HamlitというRubyで使うテンプレートエンジンをメンテしてて、ちょっと前に思いついたけどこれまで実装してなかった最適化のアイデアを昨日それに実装したので、それについてちょっと書きたい。 github.com StringTemplate というテンプレートエンジン amatsuda/string_template というテンプレートエンジンがあって、 これは "the fastest template engine for Ruby" であると主張されている。 I think I just invented the fastest template engine for Ruby (Rails). Please enjoy! https://t.co/N056SReLh2 https://t.co/74MdR5DINj— Akira Matsuda (@a_matsuda) Dece

        Rubyで最速のテンプレートエンジンを作る方法 - k0kubun's blog
      • ABEMA Web で Polyfill のコードをモダンブラウザ向けに 99% 削減した話 | CyberAgent Developers Blog

        これらを踏まえて polyfill-library を使って Polyfill の出し分けをすることが最適解だと確信しました。 Polyfill の出し分けの実装方法 最初に実装したコードの全体像を見せると次の通りになります。それぞれの変数や関数についての説明は後ほどおこないます。 import crypto from "crypto"; import { Response, Request } from "express"; import { getPolyfillString } from "polyfill-library"; import polyfillLibraryPackageJson from "polyfill-library/package.json"; const FEATURES_OPTION = { flags: ["gated"] }; const FEATUR

          ABEMA Web で Polyfill のコードをモダンブラウザ向けに 99% 削減した話 | CyberAgent Developers Blog
        • 数理最適化の参考書

          専門家が執筆した数理最適化の書籍を紹介しています. 適当に書籍を並べただけですので内容については各自で確認をお願いします. 数理最適化全般 数理最適化の概観を知りたい人向け 穴井宏和,数理最適化の実践ガイド,講談社,2013. 数理最適化を現実問題の解決に活用するプロセスを知りたい人向け 岩永二郎,石原響太,西村直樹,田中一樹,Pythonではじめる数理最適化(第2版) ―ケーススタディでモデリングのスキルを身につけよう―,オーム社,2024. 三好大悟,Excelで手を動かしながら学ぶ数理最適化:ベストな意思決定を導く技術,インプレス,2023. 株式会社ビープラウド,PyQチーム,斎藤努,Pythonで学ぶ数理最適化による問題解決入門,翔泳社,2024. 数理最適化を初めて学ぶ人が手に取る入門書 福島雅夫,新版 数理計画入門,朝倉書店,2011. 久野誉人,繁野麻衣子,後藤順哉,数理最

            数理最適化の参考書
          • Python コードの高速化のアプローチ - Qiita

            はじめに こんにちは。こんばんはかもしれません。爲岡 (ためおか) と申します。 2020年4月から株式会社グロービスにて機械学習エンジニアとして働いています。 グロービスでは機械学習技術を利用したプロジェクトや、データ基盤の運用改善プロジェクトを担当しています。 機械学習技術を利用したシステムには様々なものがあると思いますが、 現状のグロービスにおいては、ユーザのリクエストに対して機械学習を行い、 すぐに結果を返す必要があるようなシステムは扱っておらず、 ある程度の時間をかけて学習、推定した結果を非同期にアプリケーションに連携するシステムのみを扱っています。 ゆえに、今のところは機械学習技術を利用したロジックを書くときに、速さを意識することはあまりありません。 一方で、空いている時間に競技プログラミングをやっていることもあり、 高速なコードについて考えたり、書いたりすることは個人的には好

              Python コードの高速化のアプローチ - Qiita
            • webpack@5で入るModule Federationについて - hiroppy's site

              Module Federation(以下 mfe)は webpack@5 から入る新しい仕組みの一つです。 Proposal Merge Proposal: Module federation and code sharing between bundles. Many builds act as one · Issue #10352 · webpack/webpack This is a proposal to merge my existing work into the Webpack core. The base concept is federated ap... 目的 アプリケーションを作る時に、webpack はビルド時のソースコードは使う前提で実行するので、様々な最適化を行うことができます。 もし、node_modules 経由以外でライブラリを使うという場合は scrip

                webpack@5で入るModule Federationについて - hiroppy's site
              • RustがC++に速度で勝った話 - Fixstars Tech Blog /proc/cpuinfo

                実行毎に数十msはブレるので、元のC++実装に対しての時間で比較して見ると、最適化オプションと配列境界チェックの除去が効いているように見えます。 そして先述の通り、RustとC++で実行順を入れ替えたり何度か実行しても、最終的に必ず(わずかに)Rustの方が時間短かったので、(2019/09/20:45追記)「計測誤差ではないの?」という問い合わせを内外から多数受けたので、(先述の通り経験的に計測誤差でないことは明らかではあるんですが経験者でない人向けの)分かりやすい証拠としてC++とRustそれぞれ単体を100回ずつ計測した結果を置いておきます。分布から分かる通り、検定などするまでもなく有意にRustの方が時間が短いことが分かります。また、C++側は元のナイーブな実装のままなので、高速化の余地(例えばrestrict)は十分にあります。ここでは「手軽にやった時に」を想定しており、その条件

                  RustがC++に速度で勝った話 - Fixstars Tech Blog /proc/cpuinfo
                • pprof を使って nodejs アプリケーションのプロファイルを取る - その手の平は尻もつかめるさ

                  pprof って go のやつでしょ? node のプロファイルが取れるわけ無いやろ,と僕も思っていたんですが以下のライブラリを使うことで取れることがわかりました. github.com 使い方については Using the Profiler に書いてあるとおりで,アプリケーション側に const profile = await pprof.time.profile({ durationMillis: 10000, // time in milliseconds for which to // collect profile. }); const buf = await pprof.encode(profile); fs.writeFile('wall.pb.gz', buf, (err) => { if (err) throw err; }); という風に書いてあげるとwall time

                    pprof を使って nodejs アプリケーションのプロファイルを取る - その手の平は尻もつかめるさ
                  • 各種メモリ/ストレージのアクセス時間,所要クロックサイクル,転送速度,容量の目安 - Qiita

                    各種メモリ/ストレージについて,2023年時点で標準的なアクセス時間,所要クロックサイクル,転送速度,容量を,各種カタログスペックを参考にまとめてみました. レジスタ(レジスタファイル) 最近のCPUのレジスタ(register)のアクセスは,通常CPUの1クロックサイクルで完了します.2023年時点では,標準的なCPUのクロック周波数は,1〜4GHz程度のオーダーです.1GHzは1秒あたり10億回,すなわち1クロックサイクルは1ナノ秒です. したがって,2023年時点では,レジスタには0.25〜1ナノ秒程度でアクセスできると言えます. レジスタのメモリ容量は,レジスタファイルに存在するレジスタ数に依存します,これは命令で明示的に指定できるレジスタ数という解釈もありますが,レジスタ・リネーミングのようなプロセッサ技術を用いると,実際にはより多くのレジスタ数を持っていると解釈することもできま

                      各種メモリ/ストレージのアクセス時間,所要クロックサイクル,転送速度,容量の目安 - Qiita
                    • webpack のコード分割の初歩 - 30歳からのプログラミング

                      JavaScript や TypeScript を使ってウェブアプリを提供する場合、開発時はimportやexportなどの ES Modules を使い、公開時はファイルをバンドルして公開することが多い。 以下の記事に書いたように、現在の主要なブラウザは ES Modules に対応してものの、バンドルせずに公開してしまうとパフォーマンスに悪影響を与える可能性がある。 numb86-tech.hatenablog.com ファイル数が増えれば増えるほど影響は深刻になるため、依存関係が深いライブラリを使っている場合などは、レイテンシが飛躍的に増加してしまう。 そのため、バンドルせずに公開するのは現実的ではない。 バンドルしてひとつのファイルにまとめてしまえば、JavaScript のダウンロードは一度で済む。 しかしそうすると今度は、バンドルファイルの肥大化という問題が発生する。 巨大なフ

                        webpack のコード分割の初歩 - 30歳からのプログラミング
                      • サードパーティスクリプトの極限環境向け Svelte

                        この記事は、 Svelte Advent Calendar 2020 - Qiita の 22 日目です。 昨今では、フロントエンドの JS を減らす圧が強くなってきています。とくに来年 4 月に導入される Core WebVital は SEO に関わるため、 マーケティング文脈でもフロントエンドの改善施策として、パフォーマンスを上げる圧が強くなっています。 Google の UX 指標「Core Web Vitals(コアウェブバイタル)」とは?LCP・FID・CLS を解説| ferret JavaScript よ。文明を捨て、自然に還れ。 ::ハブろぐ で、ユーザー体験を遅くするものとしてやり玉に上げられるのが、サードパーティスクリプトという、サイト外から読み込まれる第三者の script です。代表的なものが Google Tag Manager や Twitter や Face

                          サードパーティスクリプトの極限環境向け Svelte
                        • フロントエンドパフォーマンスのチェックリスト2021年版(PDF、Apple Pages、MS Word)-中編 | POSTD

                          目次# 前編 準備段階:計画と指標 パフォーマンスを重視する文化、Core Web Vitals、パフォーマンスのプロファイル、CrUX、Lighthouse、FID、TTI、CLS、端末。 現実的な目標の設定 パフォーマンスバジェット、パフォーマンス目標、RAILフレームワーク、170KB/30KBバジェット。 環境の定義 フレームワークの選択、パフォーマンスコストの基準設定、Webpack、依存関係、CDN、フロントエンドアーキテクチャ、CSR、SSR、CSR + SSR、静的レンダリング、プリレンダリング、PRPLパターン。 中編 アセットの最適化 Brotli、AVIF、WebP、レスポンシブ画像、AV1、アダプティブメディア読み込み、動画圧縮、Webフォント、Googleフォント。 ビルドの最適化 JavaScriptモジュール、モジュール/ノーモジュールのパターン、ツリーシェイ

                            フロントエンドパフォーマンスのチェックリスト2021年版(PDF、Apple Pages、MS Word)-中編 | POSTD
                          • 最適輸送と自然言語処理

                            2022-03-14, 言語処理学会 第28回年次大会でのチュートリアル「最適輸送と自然言語処理」のスライドです。当日利用版から増補改訂しました。 講演動画 (YouTube)

                              最適輸送と自然言語処理
                            • useMemoのコストを心配する前に余計なdivを減らせ!

                              React では、useMemoやReact.memoなどが最適化の手段として知られています。 これらは最適化であるため、必要が無いのにuseMemoを使うことは無駄な最適化であるとして避けられる傾向にあります。 筆者が簡単なベンチマークを取ってみたところ、あるコンポーネントが一つ余計なuseMemoを持っているよりも、一つ余計な<div>をレンダリングする方が、パフォーマンス(レンダリングにかかる時間)をより悪化させることが分かりました。 したがって、useMemoなどを減らすことに執心する場合は、それと同等以上の熱量で余計な要素を減らすことに執心する必要があります。 ベンチマークはこちらです。 結果には当然ばらつきがありますが、筆者の環境では次のような結果が典型的なものとして現れました(Mac 上の Google Chrome・Firefox・Safari で同じような傾向)。 bas

                                useMemoのコストを心配する前に余計なdivを減らせ!
                              • 計算の高速化のために必要なこと: メモリの観点 - Qiita

                                前回の「各種メモリ/ストレージのアクセス時間,所要クロックサイクル,転送速度,容量の目安」は,思わぬ反響を呼んだので驚いております。 今回の記事は,その記事の活用編にあたる記事です。コンパイラのコード最適化を設計・実装する時に重要な観点を,つらつらと書いてみます。 原則: 高速なメモリ・ストレージは容量が小さい 前回の記事の結論を再掲します。 メモリ/ストレージの種類 アクセス時間 アクセス開始までの所要クロックサイクル 最大転送速度 容量

                                  計算の高速化のために必要なこと: メモリの観点 - Qiita
                                • 数理最適化: Optimization Night #1 - ぱた・へね

                                  15日に行われた数理最適化の勉強会に行ってきました。 会場はブレインパッド様の部屋をお借りしました。いつもありがとうございます。 動画はこちらから見ることができます。素晴らしい。 www.youtube.com 技術書典を支える最適化技術 sfujiwaraさんの発表です。 発表資料はこちらで見れます。 speakerdeck.com 技術書典というイベントでのブースの配置を最適化する話です。最適化の余地を残すところと、ハイパーパラメータの調整はやりたくないのバランスを取るところが面白そうでした。 ブースの分類にRubyと機械学習の両方タグがあった場合、Rubyの島に入れるのか、機械学習の島にいれるのか自動で判別するのが難しい問題。会場から上がったRubyの方が愛を感じるからRubyでしょに対して、sfujiwaraさんがそれが人間の判断じゃんと返したところが面白かったです。愛をどう特徴量

                                    数理最適化: Optimization Night #1 - ぱた・へね
                                  • next.jsでのファイルチャンク最適化の一例 - hiroppy's site

                                    今回は graphql-codegen を使い説明します。今回の例は、graphql-codegen 以外でも発生する可能性がありますが自動生成系が一番顕著に影響がわかりやすいです。 graphql-codegen はよく、graphql のスキーマから typescript の型定義/react の hooks 等を自動生成するのに使われますが、これは next.js と組み合わせた場合、少しトリッキーな部分があります。 graphql-codegen はデフォルトでは 1 ファイルにすべて出力されますが、それに対し next.js は各ページを chunks として吐くため何も考えずに実装すると、バンドルされるファイル量が膨大になる可能性があります。next.config.js から webpack の設定を上書きできますが、optimization はかなり上書きしづらくそもそも上書

                                      next.jsでのファイルチャンク最適化の一例 - hiroppy's site
                                    • ウェブ最適化ではじめる機械学習

                                      ウェブサービスの開発に携わるかぎり、ユーザにより良い体験を提供することは無視できない命題です。本書は、ウェブサービスを成長させることを目的に、ユーザの行動を定量的に評価し、改善する手法を学ぶ書籍です。 シンプルなA/B テストを第一歩に、線形モデルの導入、メタヒューリスティクス、バンディットアルゴリズム、ベイズ最適化と、機械学習の知識を紹介しながら、ウェブサイトを最適化するという現実的な問題を解くための数理的な手法を解説します。 Pythonによるサンプルコードと、グラフィカルな図版で表現された数学的なモデルを組み合わせ、機械学習と統計学の基礎を丁寧に解説しています。ウェブ最適化の手法を学びたい、機械学習の基礎を知りたい読者に最適の1冊です。 内容見本 まえがき 2章の冒頭部分 関連ファイル 1章のサンプルコード 2章のサンプルコード 3章のサンプルコード 4章のサンプルコード 5章のサン

                                        ウェブ最適化ではじめる機械学習
                                      • ウェブデザインやクリック率を改善するためにGIGAZINEでやっているA/Bテストとは?

                                        画像や文章のパターンを複数用意し、それをウェブサイト上で入れ替えて表示させてユーザーの反応を見る「A/Bテスト」は、ユーザビリティやコンバージョンを向上させる方法として利用されます。GIGAZINEでは常時複数のA/Bテストを行っており、「どのような見せ方、やり方の効果が高いのか?」という調査を行っているので、その中でわかったことをまとめました。 ・GIGAZINEの露出枠 GIGAZINEには記事広告・バナー広告・自社広告などを表示させる「露出枠」がトップページや各記事ページに配置されていますが、この露出枠は記事をスクロールすることによってユーザーに対して表示されるので、「記事をしっかり読んでもらうこと」が露出アップにつながります。そのためにはもちろん、記事自体のクオリティが非常に重要であり、通常記事でも記事広告でも、「質の高さ」を重視しています。 そしてもう1つ、「記事をしっかり読んで

                                          ウェブデザインやクリック率を改善するためにGIGAZINEでやっているA/Bテストとは?
                                        • Python言語による実務で使える100+の最適化問題 | opt100

                                          はじめに 本書は,筆者が長年書き溜めた様々な実務的な最適化問題についてまとめたものである. 本書は,Jupyter Laboで記述されたものを自動的に変換したものであり,以下のサポートページで公開している. コードも一部公開しているが,ソースコードを保管した Github 自体はプライベートである. 本を購入した人は,サポートページで公開していないプログラムを 圧縮ファイル でダウンロードすることができる. ダウンロードしたファイルの解凍パスワードは<本に記述>である. 作者のページ My HP 本書のサポートページ Support Page 出版社のページ Pythonによる実務で役立つ最適化問題100+ (1) ―グラフ理論と組合せ最適化への招待― Pythonによる実務で役立つ最適化問題100+ (2) ―割当・施設配置・在庫最適化・巡回セールスマン― Pythonによる実務で役立つ

                                          • コンパイラのコード最適化や解析手法の論文のサーベイ - Jicchoの箱

                                            この記事では,自分が最適化コンパイラの研究をする上で読んできた論文をまとめていこうと思う. まとめることで,自分のためにもなるだろうし,読んだ人のためにもなれたら嬉しい. 以下,随時更新. 部分冗長除去法(Partial Redundancy Elimination, PRE) 部分無用コード除去 (Partial Dead Code Elimination, PDE) スカラ置換(Scalar Replacement) レジスタ促進(Register Promotion) 質問伝播(Question Propagation) 演算子強度低減(Strength Reduction) ループ最適化(Loop Optimization) 手続き間最適化(Inter-procedural Optimization) 解析系 参考書籍 部分冗長除去法(Partial Redundancy Elim

                                              コンパイラのコード最適化や解析手法の論文のサーベイ - Jicchoの箱
                                            • Small String Optimization で Rust ライブラリ ratatui を最適化した話 - はやくプログラムになりたい

                                              最近 ratatui という crate に Small String Optimization を利用した最適化を入れたので,その話を書きます. 目次 Small String Optimization (SSO) とは(SSO を既に知っている人は読み飛ばして大丈夫です) Rust で SSO を適用した文字列型を提供する crate 比較 SSO を利用して ratatui のメモリ効率と実行効率を最適化した話 compact_str crate の実装の最適化の話 インラインストレージに24バイト全てを使える理由 隙間最適化のための工夫 説明を簡潔にするため,特に断りが無い場合 64bit アーキテクチャを前提とします. Small String Optimization (SSO) とは Rust の可変長文字列型 String は文字列バッファへのポインタ,文字列の長さ,バッフ

                                                Small String Optimization で Rust ライブラリ ratatui を最適化した話 - はやくプログラムになりたい
                                              • 78 アップルの流通戦略 〜 どん底から世界一、そしてその先へ|雑誌『広告』

                                                「流通改革」で、どん底から脱したアップル「アップルは特殊すぎる会社で参考にならない」──世界でもっとも成功した会社、アップル。そのビジネスに学ぼうという記事は多いが、それに食傷気味の人はこう思うようだ。だから、本稿では世界中のどの企業と比べてもアップルが見劣りした四半世紀前頃の話から振り返りたい。この時代、アップルからはイノベーションが消え、業績も悪く、あと90日で倒産という状態だった。アップルは、その状態からどうやって軌道修正をし現状を築いたのか。古い話ではあるが、そこにはいまでも多くの学びがある。また、同社の再建において「流通」の見直しがいかに重要だったかもよくわかる。 アップル再興の物語は、スティーブ・ジョブズの復活からスタートする。ジョブズは、アップルを創業するも、経営闘争に破れて会社を追い出される。その後、紆余曲折を経て戻ってきたのが1996年末、倒産寸前のアップル社だった。「ア

                                                  78 アップルの流通戦略 〜 どん底から世界一、そしてその先へ|雑誌『広告』
                                                • 数理最適化勉強会: Optimization Night #1 を開催しました - Platinum Data Blog by BrainPad

                                                  2019年10月15日(火)に当社のCDTOが主催した、数理最適化に興味のある人が集まる有志イベント「Optimization Night #1」が開催されました。 本ブログでは、運営者目線でのイベントの取り組み内容について紹介します! こんにちは。CDTOの太田です。先日Optimization Night #1という数理最適化に関するイベントを開催したので、運営者側の目線で、会の内容や開催の経緯を紹介したいと思います。なお、当日の様子はYoutubeでご覧いただけます。 開催の経緯 私はTFUG (TensorFlow User Group)の運営もやっているのですが、全国8箇所あるTFUGのオーガナイザーが集まって議論していたときに、「(TensorFlow関係ないけど)数理最適化のイベントをやりたい」という発言をしたのがきっかけです。 なぜ数理最適化のイベントをやりたいと思ったかと

                                                    数理最適化勉強会: Optimization Night #1 を開催しました - Platinum Data Blog by BrainPad
                                                  • SpeedVitals - Website Speed Test & Monitoring

                                                    Select the HTTP Version to be used with this test. HTTP/2 is the default option and is recommended. Learn more Select this option if your website requires HTTP Authentication for access. The provided username & password will not be saved in our servers and you will need to enter it each time. Learn more Simulated throttling loads the page normally and later estimates the impact of throttling and a

                                                      SpeedVitals - Website Speed Test & Monitoring
                                                    • Go and CPU Caches

                                                      Credits: unsplash.comAccording to Jackie Stewart, a three-time world champion F1 driver, having an understanding of how a car works made him a better pilot. “You don’t have to be an engineer to be a racing driver, but you do have to have Mechanical Sympathy” Martin Thompson (the designer of the LMAX Disruptor) applied the concept of mechanical sympathy to programming. In a nutshell, understanding

                                                        Go and CPU Caches
                                                      • Codable Model Optimizer: 最適化問題を気軽に解くためのPythonフレームワーク

                                                        はじめに この記事では、当社内で開発した最適化フレームワークである「 Codable Model Optimizer 」について紹介します。 リクルートでは、機械学習のビジネス活用に長く取り組んできましたが、機械学習によって将来の予測が正確にできたとしても、その予測を元に良い選択を決定できなければならない問題に直面することが増えてきています。 例えば、商品に対する購入率が予測できたとしても、購入率の高い商品をたくさん表出させれば良いというわけではなく、実際には商品の在庫などを考慮してどのように表出させるのか意思決定する必要があります。 膨大な選択肢からより良い選択を見つけ出す問題を"最適化問題"とよび、様々な解法があります。解法としては、数理最適化(主に厳密な最適解を見つけるのに使われる)やメタヒューリスティクス(厳密最適解ではないが、大規模な問題において良い解を見つけるのに使われる)など

                                                          Codable Model Optimizer: 最適化問題を気軽に解くためのPythonフレームワーク
                                                        • How We Saved 70K Cores Across 30 Mission-Critical Services (Large-Scale, Semi-Automated Go GC Tuning @Uber)

                                                          How We Saved 70K Cores Across 30 Mission-Critical Services (Large-Scale, Semi-Automated Go GC Tuning @Uber) Introduction As part of Uber engineering’s wide efforts to reach profitability, recently our team was focused on reducing cost of compute capacity by improving efficiency. Some of the most impactful work was around GOGC optimization. In this blog we want to share our experience with a highly

                                                            How We Saved 70K Cores Across 30 Mission-Critical Services (Large-Scale, Semi-Automated Go GC Tuning @Uber)
                                                          • Browser-level image lazy loading for the web  |  Articles  |  web.dev

                                                            Browser-level image lazy loading for the web Stay organized with collections Save and categorize content based on your preferences. You can use the loading attribute to lazy-load images without the need to write custom lazy-loading code or use a separate JavaScript library. Here's a demo of the feature: Lazy-loaded images load as the user scrolls through the page. This page walks through the detai

                                                            • Ruby高速化の戦い@RubyKaigi2019 - バイセル Tech Blog

                                                              梅雨の季節と思いきや、清々しい天候の続くこの頃、皆様いかがお過ごしでしょうか? Tech開発部アーキテクチャグループで色々やっております塚本と申します。普段はスクラムマスターやったりしています。 もうひと月以上経ってますが、先日参加してきたRubyKaigiのセッションの内容を掘り下げて記事にしてみます。 Kaigiの概要は村上さんの記事をご参照ください。 tl;dr; Rubyはよい 個人的にはコミッターがよい(失礼) 発表もよい 記事にしたいセッションが絞りきれず執筆が大変なことに Rubyコアの速度改善の話に絞りました 他はまた別途 Rubyist world map Rubyに対して 私のRuby歴は全部足して3年くらいで、関わってきたコミュニティの皆さんほど言語に対する思い入れもなく、Railsなんかツラい思い出が9割くらいなんですが、Rubyはいい言語だと思います。 端的にいう

                                                                Ruby高速化の戦い@RubyKaigi2019 - バイセル Tech Blog
                                                              • GPU向けコンパイラの最適化の紹介と論文のサーベイ - Jicchoの箱

                                                                この記事では,私の研究分野であるGPU向けコンパイラの最適化の紹介と論文のサーベイを行う. 以下,随時更新. 分岐発散 (Branch Divergence) 分岐発散とは Independent Thread Scheduling 分岐発散に対する最適化 Software based approaches Hardware based approaches その他 サーベイ論文 カーネル融合 (Kernel Fusion) Kernel Fusionとは 垂直融合(vertical fusion) 水平融合(horizontal fusion) Inner Thread Block Inter Thread Block カーネル融合に関する論文 その他のGPU関連の論文 Dimensionally redundant instruction elimination Others 分岐発散

                                                                  GPU向けコンパイラの最適化の紹介と論文のサーベイ - Jicchoの箱
                                                                • How to leverage optimal transport

                                                                  大幅な加筆改訂を加えた最新版はこちらです: https://speakerdeck.com/eumesy/optimal-transport-for-natural-language-processing --- 最適輸送の使い方 〜最適輸送の直感的理解のための単語埋込入門 兼 最適輸送入門〜 【これは何?】 自然言語処理を中心に多くの利用例を挙げながら、最適輸送の直感的な理解を目指すスライドです。 「こんな風に使うことができるんだ… 面白い道具じゃん」「こういう使い方をしたかったらこういうキーワードで調べれば良いのね」と知識にアンカーを張ることが目的です。より深く知りたい人のための参考文献もできるだけ潤沢に加えました。 また、例として頻繁に活用する自然言語処理に馴染みがないかたのために、最初に単語埋め込みのチュートリアルをつけてあります。 【コンテンツ】 1. 単語埋込入門 … 「分布仮

                                                                    How to leverage optimal transport
                                                                  • Webサービス上の画像変換とWebPの利用について | メルカリエンジニアリング

                                                                    Mercari Advent Calendar 2020の14日目は、Developer Productivity EngineeringのNetworkチーム所属の@catatsuyがお送りします。 今回のエントリーでは画像変換とGoogle社が開発した画像フォーマットであるWebPに関して紹介します。 適切なサムネイル画像のサイズと画質 現在ではiPhoneのRetinaディスプレイのように、実際に画面に表示されるサイズよりも大きなサイズの画像を要求する端末が一般的になりました。 現在のスマートフォンでは画面に表示されるサイズの2倍以上のサイズ(端末によっては3倍に対応しているものもある)の画像を用意しなければ綺麗に表示されません。サムネイル画像の綺麗さはUXに直結しますし、サービスによっては画像の綺麗さがクリック率や売り上げに貢献するケースもあるでしょう。 しかし大きなサイズの画像を

                                                                      Webサービス上の画像変換とWebPの利用について | メルカリエンジニアリング
                                                                    • リーマン多様体上の最適化―特異値分解の例を通して― - 冷めたコーヒー

                                                                      はじめに 特異値分解 特異値分解と最適化問題 リーマン多様体上での特異値分解 $\mathrm{St}(p,m)\times\mathrm{St}(p,n)$ 上の最適化 接空間 レトラクション $R_{(U,V)}$ 勾配 $\mathrm{grad} F(U,V)$ リーマン多様体上での共役勾配法 Pymanopt による求解 モジュールのインポート 解くべき最適化問題の定義 最適化手法の定義 出力内容 おわりに 参考文献 おまけ はじめに 以前(2019 年 11 月)に「リーマン多様体上の最適化の初歩と Pymanopt による数値実験」 という記事を投稿した. mirucacule.hatenablog.com 記事内で用いた最適化 Toolbox である Pymanopt のバージョンアップに伴い,実行方法に変更が生じたため改めて書き直そうと思ったのが本記事を執筆するに至った経

                                                                        リーマン多様体上の最適化―特異値分解の例を通して― - 冷めたコーヒー
                                                                      • Apollo Client と SSR の罠 その1 - パフォーマンス改善編 | Wantedly Engineer Blog

                                                                        Wantedly でバックエンドエンジニアをしている @izumin5210 です。 この記事は GraphQL Advent Calendar 2020 の11日目の記事として書かれました。が、7割くらいは SSR についての議論のこり3割くらいが Apollo Client の話です。 最近、Apollo Client と SSR(Server Side Rendering) を利用した Web アプリケーションのパフォーマンス改善に取り組みました。この記事では「パフォーマンスの問題にどう立ち向かったか」および「そもそも問題を起こさない構造にするために何ができるか・何をすべきでないか」の考察をしていきます。 TL;DRパフォーマンス改善は計測・可視化からライブラリが用意してくれているフック機構を上手に使って計測していこうrenderToStringWithData では、renderT

                                                                          Apollo Client と SSR の罠 その1 - パフォーマンス改善編 | Wantedly Engineer Blog
                                                                        • リリース後に落ちないように、新規サービスで備えておいたこと

                                                                          こんにちは、エンジニアの@tarr [https://github.com/tarr1124]です。 前回の連載記事 [https://tech.plaid.co.jp/karte-blocks-multicloud/]ではマルチクラウドなどを使い、Blocksでは最大限落ちないようにリスクヘッジをしながらシステムを構築しているという記事を書きました。 * AWSが落ちてもGCPに逃がすことで

                                                                            リリース後に落ちないように、新規サービスで備えておいたこと
                                                                          • GitHub - iamakulov/awesome-webpack-perf: A curated list of webpack tools for web performance

                                                                            Awesome Webpack Perf A curated list of webpack tools and plugins that help make the web faster Contents Built-in stuff JS minifiers CSS Minifiers Other optimizers Extraction plugins Critical CSS plugins CSS-in-JS Minification Zero-runtime libraries Images Image compression tools: universal Image compression tools: for a single format Other tools Fonts Gzip/Brotli Service workers <link rel> and <sc

                                                                              GitHub - iamakulov/awesome-webpack-perf: A curated list of webpack tools for web performance
                                                                            • 業務の最適化とマラソンマッチの違い - gasin’s blog

                                                                              最近マラソンマッチが流行ってるみたいなので流行に乗って書いてみます 新卒のペーペーですが複数社でヒューリスティックな最適化系のタスクしてきたので参考程度にはなるかも? そもそも最適化とは ja.wikipedia.org まぁこれなんですが、簡単に言うと、パソコンとか数学使って賢いことをすることでリソース(お金)を得る(節約する)ことです。 巡回セールスマン問題(TSP)は有名な例で、複数の荷物を届けるときにどの順番で家を訪れれば最も移動距離が短くできるかみたいな問題は、パソコンを使うと人間よりもかなり賢く解けます。 マラソンマッチとは (組合せ)最適化問題が与えられるので、最もいいスコアが出せた人が優勝!っていう競技です。 昔は海外サイトばかりでしたが、最近はAtCoderというサイトでマラソンマッチが割と頻繁に開かれるようになりました。 競技なので勿論問題設定や各種制約が厳密で、終盤に

                                                                                業務の最適化とマラソンマッチの違い - gasin’s blog
                                                                              • バンドルサイズを削りやすい React コンポーネント設計

                                                                                多くのライブラリは利便性のためにたくさんの機能を持っていて、その全てを活用するユーザーはほぼいません。一般的なライブラリにおいては、その中から必要な機能のみをバンドルに含めるための設計プラクティスが普及しており、Firebase JS SDK v9 での変更はその代表例でしょう。しかし、コンポーネントライブラリではそのようなプラクティスが発達しておらず、多くのアプリケーションでバンドルサイズに無視できない影響を与えています[1]。 そこで、バンドルサイズを削りやすいコンポーネント設計を考えます。ここでは例として、以下のようにフェードインするタグコンポーネントを Framer Motion を使って実装することを考えます[2]。フェードインの有無は何らかの方法で切り替えられるものとし、フェードインしない場合に、その関連コードをバンドルから削るようにします。 ❌ Boolean プロパティで切

                                                                                  バンドルサイズを削りやすい React コンポーネント設計
                                                                                • Google オプティマイズのサポート終了 - Optimize ヘルプ

                                                                                  2023 年 9 月 30 日を過ぎると、Google オプティマイズはご利用いただけなくなります。この日までは引き続きテストとパーソナライズを実施可能です。詳細 2023 年 9 月 30 日を過ぎると、Google オプティマイズとオプティマイズ 360 はご利用いただけなくなります。この日までは引き続きテストとパーソナライズを実施可能です。当日に実施中のテストとパーソナライズはこの日にすべて終了します。 Google オプティマイズは、あらゆる規模のビジネスでユーザー エクスペリエンスを簡単にテストして改善できるよう、5 年以上前にリリースされました。Google は今後も、あらゆる規模のビジネスがユーザー エクスペリエンスを改善できるよう取り組んでまいります。さらに、Google アナリティクス 4 のサードパーティ製 A/B テスト インテグレーションにも投資も行っています。 よ