タグ

performanceに関するGlnのブックマーク (24)

  • StringBuilderを使ったクソコードはどこまで遅いか - きしだのHatena

    ※ 4/9 11:25 いろいろ計測しなおしてます。こちらも参照 Javaで文字列連結する場合には+演算子よりもStringBuilderを使うべき、という話があるのですが、よく sb.append("[" + data + "]"); みたいなコードをみかけて、あんまり意味ないなーと思ったりします。 あと、 sb.append("title:"); sb.append("[" + data + "]"); みたいに、+演算子を使った一行の式にして sb = "title:" + "[" + data + "]"; としておけば「title:」と「[」はコンパイル時点で最適化されたのに、ってコードもあります。 ということでTwitterJavaでの文字列連結は+を使うべき、ってやったほうが、StringBuilder使ったsb.append("[" + data + "]")みたいなク

    StringBuilderを使ったクソコードはどこまで遅いか - きしだのHatena
  • MySQL 5.6での、マルチカラムインデックスとカラムごとのインデックスの比較 | Yakst

    MySQL Performance Blogの翻訳。複数のカラムを指定したマルチカラムインデックスを使うべきか、カラムごとに別々にインデックスを作るべきかは悩ましい問題だ。しかし、MySQL 5.6で導入されたIndex condition pushdownの仕組みを理解すれば、マルチカラムインデックスを効率的に使うことができるようになる。 インデックスに関する話をしている時によく出てくる質問と言えば…マルチカラムインデックスを使うべきか、カラムそれぞれにインデックスを張るべきか、ということだ。Peter Zaitevがこれについて2008年に書いていて、その時の結論としては、マルチカラムインデックスが多くの場合においてベストな解決策だ、というこだった。しかし、最近のオプティマイザの進化によって、MySQL 5.6では事情は違ってきてはいないだろうか? 準備 テストのため、以下のような2つ

    MySQL 5.6での、マルチカラムインデックスとカラムごとのインデックスの比較 | Yakst
  • 吉川徹さん(@yoshikawa_t)の「DOM操作の最適化によるJavaScriptチューニング」問題解説記事 #javascript|CodeIQ MAGAZINE

    吉川徹さんによる「DOM操作の最適化によるJavaScriptチューニング」問題解説記事です。JavaScriptのDOM操作について基的なパフォーマンスチューニングができるかどうかを評価する問題でした。 チューニングを行うことで、具体的にどういった形のコードになるかを中心に解説していただきましたので、ぜひ参考にしてくださいね! by 馬場美由紀 (CodeIQ中の人) 吉川徹です。 少し前になりますが、私の方から以前、JavaScriptのパフォーマンスチューニングについての問題を出題しました。今回は、その問題の解説をしていきたいと思います。 また、この問題は、HTML5 Experts.jpとの連動企画となっており、こちらの記事を読んで頂くとおおよそのチューニング方法について理解できるというものになっています。ぜひ、合わせてご覧頂ければと思います。 問題文 あるHTMLファイルに記述

    吉川徹さん(@yoshikawa_t)の「DOM操作の最適化によるJavaScriptチューニング」問題解説記事 #javascript|CodeIQ MAGAZINE
  • Javaのパフォーマンスについての9つの誤信

    JVMはプロファイリングを利用してコードの最適化を行います。対象は頻繁に利用されるコードパスのみですが,徹底的に行うことで大きな効果を上げています。JITコンパイルされたコードに関しては,現在では多くの場面において (その割合も増えつつあります) C++の実行速度を凌駕しています。 このような事実にも関わらずJavaが今でも低速なプラットフォームとして認識されているのは,おそらくは初期バージョンのJavaプラットフォームでの経験が,歴史的な負のバイアスとして働いているためでしょう。 早まった結論を出す前に,客観的な見地に立って,最新のパフォーマンス結果を評価するようにお勧めします。 2. Java コードの1行にはそれ自体で意味がある 次の短いコード行を考えてみてください: MyObject obj = new MyObject(); Java開発者ならば誰でも分かるように,このコードはオ

    Javaのパフォーマンスについての9つの誤信
  • MySQL Index勉強会外部公開用

    pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)

    MySQL Index勉強会外部公開用
  • ユーザーの体感速度を高めるためのJavaScriptチューニング(後編)

    連載「Webサイト・アプリ高速化テクニック徹底解説」の第3回は、前回の「ユーザーの体感速度を高めるためのJavaScriptチューニング(前編)」の続きです。この後編では、「ユーザーの操作を阻害しない」方法についてJavaScriptのシングルスレッドやイベントループを交えて解説し、HTML5のWeb Workersについても紹介していきます。 前回は、ユーザーの体感速度を向上させるための方法として、3つのうち「ページを素早く表示する」と「ユーザーに素早くインタラクションを返す」を解説しました。今回は、最後の「ユーザーの操作を阻害しない」について詳しく解説していきます。 ユーザーの操作を阻害しない JavaScriptによる処理が重くなると、いつまでも画面が更新されなかったり、ユーザーの操作が止まってしまったりということがあります。止まっている時間が長すぎると、ブラウザから応答がないという

    ユーザーの体感速度を高めるためのJavaScriptチューニング(後編)
  • ユーザーの体感速度を高めるためのJavaScriptチューニング(前編)

    連載「Webサイト・アプリ高速化テクニック徹底解説」第2回は、JavaScriptの高速化について、まずは前編、後編に渡ってユーザーの体感速度を向上させるための方法を紹介します。JavaScriptの同期・非同期の仕組みやscript要素のasync属性、defer属性について詳しく解説します。 今回から複数回に分けて、JavaScriptの高速化をテーマに解説していきます。まずは、ユーザーの体感速度を高めるためのJavaScriptチューニングということで、単純なJavaScriptの構文によるスピードを比較するようなものではなく、主にユーザー視点からの高速化を主眼に解説します。その中で、同期・非同期といったJavaScriptの仕組みやscript要素のasync属性、defer属性などについても触れていきます。 ユーザーの体感速度を向上させる 一概にJavaScriptの高速化といっ

    ユーザーの体感速度を高めるためのJavaScriptチューニング(前編)
  • DOM操作の最適化によるJavaScriptチューニング(前編)

    連載「Webサイト・アプリ高速化テクニック徹底解説」の第4回は、JavaScriptのチューニングのうち、ボトルネックになりやすいDOM操作の最適化について解説します。前編・後編にわたって、DOM操作が遅くなる原因と仕組み、その解決策について詳しく解説します。 CodeIQとの連動企画! この記事で学べるJavaScriptチューニングのテクニックを、実際にCodeIQの問題で試すことができます。もう既に自信がある方は腕試しに、もしくは理解度チェックのための復習として是非ご活用ください!こちらから問題にチャレンジ! DOM(Document Object Model)とは、HTMLをアプリケーション(ここではJavaScript)から利用するためのAPIです。JavaScriptによるユーザーインターフェースの構築やレスポンスの表示など、インタラクティブな部分はほとんどがDOM操作によるも

    DOM操作の最適化によるJavaScriptチューニング(前編)
  • サービス終了のお知らせ - NAVER まとめ

    サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。

  • スマホアプリ開発の最前線で使われている、UIデザインメソッド20(3) デベロッパーに聞く、今日から使えるJavaScript 高速化術(前編)

    アプリ制作の技術者から学ぶ当連載や、中村洋基氏をはじめとするクリエイターが登壇する11月17日(土)開催のセミナー、中国・上海のWeb制作会社訪問ツアーなどの豪華賞品が当たるアプリアワードを行う「TapApp(タップ*アップ)プロジェクト」と連動した連載第3回は、実際にソーシャルゲームのコーディングを行っているサイバーエージェント(以下、CA)のデベロッパーに、すぐに使えるJavaScript高速化のテクニックについて聞いた。 高速化がもとめられるスマホ用Webアプリ開発の現場 スマートフォン用ゲームというと、ネイティブアプリケーションの形で提供されるものをまず思い浮かべるかもしれないが、最近ではソーシャルゲームを中心に、ブラウザ上で動作するWebアプリケーションとして提供されるタイトルが続々と登場している。ユーザーがアプリをダウンロードする手間がなく、iPhoneAndroidなど複数

    スマホアプリ開発の最前線で使われている、UIデザインメソッド20(3) デベロッパーに聞く、今日から使えるJavaScript 高速化術(前編)
  • node.js と thread hog の話(2)

    [前回までの話へのリンク] ・node.js と thread hog の話(1) 最近になって「c10k 問題」が広く知られるようになったが、実際には、前回書いたように、thread を使いすぎるプログラム(thread hog なプログラム)はスケーラビリティが悪いということは、当時(90年代の終わりごろ)でもすでに「知る人は知る」問題になっていた。 複数のクライアントマシンとの間のソケットを開きっぱなしにしておく、Proxy Server、Chat Server、MMORPG に関わっている人達の間で、ソケット一つに thread を一つ割り当てるスタイルのプログラミングがスケーラビリティに欠けることが知られるようになったのもこのころである。 当時、Microsoft で MSN Messenger を作っている知り合いが「ついに1万人が同時接続しても大丈夫なアーキテクチャに到達した

  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
  • CentOS 6.2 で RPS/RFS を使ってネットワークの割り込み処理を複数コアに分散してみた - blog.nomadscafe.jp

    以前(2010年)に「アプリケーションがマルチスレッドでもマルチコアCPUを活かせない件」というエントリにてCPUのコアが増えても割り込み処理が分散されないのでスケールされないと書いたけど、その後Linux KernelにRPS/RFSなる機能が追加され、割り込み処理が分散できるようになり、CentOS 6.2 でも使えるらしいので試してみました。 RPS/RFSについての紹介は VIOPS06で「RPS・RFS等最新Linux Kernel事例」と題してお話してきました http://d.hatena.ne.jp/syuu1228/20110722/1311322653 Linux内核 RPS/RFS功能详细测试分析 http://www.igigo.net/archives/204 が詳しい。2番目のはほぼ読めないけど、性能比較のグラフが分かりやすい。 今回試したサーバは、 OS: C

  • Increased Performance In Linux With zRam (Virtual Swap Compressed in RAM)

    While trying to optimize the elementary OS performance, Sergey Davidoff stumbled upon a project called compcache that creates a RAM based block device which acts as a swap disk, but is compressed and stored in memory instead of swap disk (which is slow), allowing very fast I/O and increasing the amount of memory available before the system starts swapping to disk. compcache was later re-written un

  • perfの使いかた

    概要 Linuxのパフォーマンス解析ツールであるperfの使いかたの紹介 背景 個人的にperfよくできてると思うので紹介したいというのと、 パフォーマンスカウンタの読み方ってあんまり知られてないみたいなので、 それの解説を書きたい。 構成 perf について説明したあと、パフォーマンスカウンタの読みかた、見かた、を説明する。 perfとは何か Linuxに付いてくるプロファイラ。 man perf によると、 NAME ---- perf - Performance analysis tools for Linux と、書いてある。名前がひどいのでなんとかしてほしい。 perf の特徴 個人的には、手軽に使えるのが素晴らしいと思う。 2.6.31以降カーネルに標準で付いてる。(Ubuntuだとlinux-tools-common(TODO:あとで確認)で入るはず) 特殊な設定が必要無く、

  • HotSpot VMの特性を知る

    Permanent領域のチューニング JVMにはPermanent領域と呼ばれるヒープ領域があります。ここにはクラス定義やメソッド、フィールドなどのメタデータが格納されます。 Permanent領域のデフォルトのサイズは、一般的なアプリケーションにとって十分な大きさに設定されています。しかし、アプリケーションによっては非常に多くのクラスをロードするものもあり、Permanent領域が足りなくなることがあります。例えば、JSPやサーブレットを多用するアプリケーション(アプリケーションサーバなど)は、デフォルトのPermanent領域サイズでは足りなくなり、次のようなエラーが発生することがあります。 $ java ManyClassLoadingTest Permanent generation is full... increase MaxPermSize (current capacity

    HotSpot VMの特性を知る
    Gln
    Gln 2011/01/29
    Permanent領域のサイズを変更する必要があります。Permanent領域のサイズは、-XX:PermSizeと-XX:MaxPermSizeの2つのオプション
  • 【レポート】高負荷時にクイックに反応するLinuxデスクトップ、380行のカーネルパッチ | エンタープライズ | マイコミジャーナル

    The Linux Home Page at Linux Online UbuntuなどLinuxカーネルを採用したOSをワークステーション/デスクトップ用途で使っている場合、並列度の高いカーネルビルドを実行するなどすると、ほかのアプリケーションのインタラクティブ性が低下することが知られていた。カーネルの開発者など、頻繁に並列度の高いビルドを実行する場合など、ビルド中にインタラクティブ性が低下してもっさりした印象を受けるという問題があった。 この問題は、次のUbuntuでは解消される可能性がある。Linus Travals氏はこの問題に対処する方法として、TTYごとにタスクグループを自動的に作成してスケジューリングに利用する方法を提案。Mike Galbraith氏がこれを実現するパッチを作成。ユニファイ形式のdiffで380行ほどのパッチだが、その効果は絶大だとLinus Travals

  • Windowsを定期的に再インストールする必要なんてないんです。その理由とは... | ライフハッカー・ジャパン

    数多くある都市伝説の中でも頻繁に耳にするのが、「Windowsのパフォーマンスを常にベストな状態に保つ為には定期的にOS の再インストールを行う必要がある」というモノですが、今回は再インストールが必要となる当の原因は何なのか、そしてどのようにして修復するべきなのかについて迫ってみたいと思います。 時間の経過と共にWindowsの速度が遅くなるように感じるのはなぜなのか、そしてどのようにしてこの問題は解決出来るのかについて今回はお話していきますのでぜひ最後までお付き合い下さい。 PC のケアをちゃんと行っていればWindowsが時間と共に遅くなる、ということは実際問題ありません。下記の手順に沿って作業を行っていけば、データをバックアップしてディスクを挿入してWindowsを入れ直し、その後必要なアプリをまたインストールしていく、という煩雑な作業から開放されるはずです。 ■時間の経過と共にW

    Windowsを定期的に再インストールする必要なんてないんです。その理由とは... | ライフハッカー・ジャパン
  • Free Dynamic DNS(DDNS) by POP3,IMAP4,FTP,HTTP-BASIC for Home Server, VPS | MyDNS.JP

    kagod.mydns.jp is not accessible... Sorry. I do not know why this site is not working. If you know Administrator of this site, please contact directly. You may be able to see it in Google cache. For administrator ... MyDNS.JP did not received IP address from you over One week. Please check your notify system. If you restart notification of IP address, MyDNS.JP will apply your IP address to DNS inf

  • Linuxベンチマーキング | OSDN Magazine

    ここでは、Linuxシステムの性能評価に使えるベンチマークツールの紹介記事と、ベンチマーク結果のレポート記事をまとめておく。ベンチマークテストは実際のシステム性能を正しく反映するとは限らないが、システム構成に何らかの変更を加える際に、その変更がシステムのパフォーマンスに与える影響を推測するうえで重要な手がかりを与えてくれる。 ネットワークのベンチマーク・ツールを試す – nepim、LMbench、nuttcp 2008年08月22日 ネットワークのベンチマークでは、伝送速度と遅延時間という2つの指標が特に関心の対象となる。サービスや製品の広告では、伝送速度の方が大きく取り上げられることが多いが、状況によっては遅延時間の方が重要な指標となる場合もある。この記事では、ネットワークのパフォーマンス測定に利用できる3つのツールを見ていくことにしよう。nepim(network pipemeter

    Linuxベンチマーキング | OSDN Magazine