Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

関連タグで絞り込む (198)

タグの絞り込みを解除

optimizeに関するishideoのブックマーク (110)

  • vlookup関数が遅い理由は、あなたの使い方が悪いから

    vlookup関数を使うと、 エクセルの動きが遅くなるからイヤ。 という人が多いです。 でも、多くの場合、 「vlookup関数の使い方が悪い」から 動きが遅くなるだけなのです。 vlookup関数が遅いのはなぜ? vlookup関数のイメージは、 単語帳をぱらぱらとめくって、 該当する単語が書かれているページを探す、 というものです。 ここで、 ちょっとイメージして欲しいのですが、 単語帳は、100,000ページある 単語帳のページの並びには、規則性がない という状況で、 「excel」という単語を探して、と言われたら、どうでしょう? どのページに「excel」という単語が書かれているか 全くわかりませんから、 単語帳を 最初から最後のページまで、 1ページ、1ページめくって、 どの単語が書かれているページかを 調べていかないといけないわけです。 とても大変な、時間がかかる作業だ、 とい

    vlookup関数が遅い理由は、あなたの使い方が悪いから
  • Amazon ECS でのコンテナデプロイの高速化

    Amazon ECS でのコンテナデプロイの高速化 この記事は同僚の Nathan Peck (@nathanpeck)が書いた記事 “Speeding up Amazon ECS container deployments” を翻訳し、加筆・修正したものです. 元記事を ECS ユーザに紹介する機会が何回かあったので、せっかくなので翻訳することにしました. コンテナのオーケストレーションは非常に複雑な問題の一つです. アプリケーションコンテナのデプロイのために、相互にやり取りを行う複数の異なるコンポーネントが存在します. あなたのアプリケーションを実行したオーケストレータは、その実行されたアプリケーションが Web トラフィックを受け取る用意ができているかどうかについて判断する必要があります. その後そのアプリケーションはスケールダウンされたり、あるいは新しいバージョンのアプリケーション

    Amazon ECS でのコンテナデプロイの高速化
  • Kaggleコード遺産 - Qiita

    この記事はどんな記事なのだ? こんにちはなのだ、kaggle masterのアライさんなのだ。 この記事はkaggle advent calendar 2019 その1の13日目の記事なのだ。 前日はu++さんのKaggle Days Tokyoの記事なのだ。アライさんも参加したかったのだ。 明日はtakapy0210さんの学習・推論パイプラインについてなのだ。楽しみなのだ。 Kagglerの間では連綿と受け継がれる便利関数がいくつかあるのだ。アライさんはそれをKaggleコード遺産と呼ぶことにしたのだ。この記事ではKaggleコード遺産の紹介とその出処の検証1を行おうと思うのだ。面白かったら是非upvoteしてくださいなのだ。 さあKaggleパークの冒険に出発なのだ! おことわり 今回の記事はPythonコードに限った話になってしまったのだ。KaggleのNotebookではRも使える

    Kaggleコード遺産 - Qiita
  • Python コードの高速化のアプローチ - Qiita

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

    Python コードの高速化のアプローチ - Qiita
  • Bing Webマスターツールとは?Microsoftが提供するWebマスター向けツールを解説

    "Bing(ビング)"はMicrosoftが提供する検索エンジンです。2009年に提供が開始された比較的若い検索エンジンですが、iPhoneiPadで提供される音声アシスタントSiriの検索に採用されるなど躍進しています。 Bingをメインの検索エンジンに選択する人の増加を考えると、WebサイトをBingに最適化する必要性がでてくるのではないでしょうか。Google同様、BingもBing向けの検索エンジン最適化ツールを提供しています。それが「Bing Webマスターツール」です。 Bingの検索結果上位に表示されるために、ツールを使ってWebサイトを最適化しましょう。 Bing Webマスターツールとは Bing Webマスターツールとは、検索エンジンBingで、所有するWebサイトを上位に表示させるための解析ツールです。Webサイトの分析や診断を細かくできるため、Bingに最適化する

    Bing Webマスターツールとは?Microsoftが提供するWebマスター向けツールを解説
  • Macに本気を出させてTime Machineバックアップを高速化するコマンド | ライフハッカー・ジャパン

    Time Machineはコンピューターのバックアップを作成できる素晴らしいサービスです。デフォルト設定では、CPUの負荷はあまり大きくありません。通常は何の不自由もなく使用できますが、「できるだけ早くバックアップをとりたい」と思うこともたまにはあるでしょう。そんなときにバックアップを高速化してくれるターミナルコマンドが「Defaults-Write」で紹介されています。(アプリケーション→ユーティリティーから)「ターミナル」を開き、次の文字列を入力するだけです。

    Macに本気を出させてTime Machineバックアップを高速化するコマンド | ライフハッカー・ジャパン
  • Optimize Python

    How to profile and optimize Python apps Posted on July 14, 2018 Introduction This blog post used to be a document, which was designed to be a concise and easily referenceable guide for software engineers on how to benchmark Python code and how to optimize it. As a result, it should help Python developers write more efficient Python code in the future. Profilers A profiler is a piece of software th

    Optimize Python
  • pythonの速度で気にするところ(高速化メモ) - nobUnagaの日記

    高速化に関して 高速化はほんとに色々と罠が多い。意図した計測できていなかったり。(特に、python3はmapとかの返り値がジェネレータになっているので、その計測を間違っている例とかがウェブには多い。) 高速化の前に計測が必須だが,計測に関しては別のまとめを参照。 リストは連結リストではなく配列 Pythonのリストはいわゆる連結リストではなく可変長配列(たぶん)。arrayというのがあるけどそっちは固定長配列。 よって、リストの先頭要素の挿入/削除(insert/pop)とかはしない。 また,順次appendしていくと容量オーバーのときに領域の拡張が発生し,コピーが発生し得る。それを避けるためには,サイズがわかっているなら,[None]*n_sizeなどで予め領域を確保しておく。任意のオブジェクトを格納出来ることから,おそらくリストの要素はそのオブジェクトへのポインタだと思うのでNone

    pythonの速度で気にするところ(高速化メモ) - nobUnagaの日記
  • pythonビギナーがパフォーマンス改善のためにやった6つの約束事

  • Pythonを高速にするTips集

    この記事は,Pythonを少しでも高速に実行するための方法をまとめたTips集です. 随時更新予定です. グローバル名前空間で大きな処理を書かない Pythonではメソッド内に処理を書かずにグローバル名前空間に処理を書くこともできます。 Pythonは変数アクセスを名前空間ごとの辞書(ハッシュマップみたいなもの)で検索することで実現しています。 グローバル名前空間の辞書にはデフォルトの状態でいくつかの要素が追加されているので、メソッド内でローカル変数にアクセスする場合に比べて変数アクセスのコストが重くなります。 なので、グローバル名前空間でforループなどを回すと変数アクセスのコストが無視できなくなるので、forループを回すなどの大きな処理を行う場合はメソッド内に処理を書くようにしましょう。 グローバル名前空間にforループの処理をべた書きした場合と、メソッド内に同じ処理を書いた場合での実

  • Clojureで書いたプログラムを速く起動する。 - Qiita

    この記事を参考にしました。 Clojureは数ある言語の中でも起動が遅い。そのため、実行時間が短いプログラムでは、Clojureの優れた実行速度が生かせない場合がある。 そんなことにもんもんとして、速くならないものかと実験してみた結果を記録しておく。 結論としては、GraalでNativeビルドが一番速い。 また、今回は実験していないが参考記事で説明されているDripもNativeビルドほどではないが速い。 環境等 AWS EC2 t2.microを使用した。 ubuntu@ip-172-31-37-182:~$ uname -a Linux ip-172-31-37-182 4.15.0-1021-aws #21-Ubuntu SMP Tue Aug 28 10:23:07 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

    Clojureで書いたプログラムを速く起動する。 - Qiita
  • JVMのチューニング - ITエンジニアとして生きる

    前回、JVMとGCのしくみ - ITエンジニアとして生きるでJVMとGCのしくみについて書いた。 今回はその続きということでJVMのチューニングについて書きたいと思う。 JVMチューニングって -Xms ・・・ ヒープ全体(New領域+Old領域)の初期値 -Xmx ・・・ ヒープ全体(New領域+Old領域)の最大値 くらいしか話題に上がらないし意識しないことが多い(気がする)。 でもホントはこれだけではダメで、前回のようにPermanent領域、New領域、Old領域を意識したチューニングが必要になる。 VMチューニングを考えるその前に・・・チューニングの話をする前にまずVMの起動モードについて話したいと思う。 VMには大きく以下2つの起動モードがあり、それぞれ以下のような特徴を持つ。 ◆クライアントVMモード 起動時間を短縮し、メモリサイズを縮小するように調整されている。 VM起動時

    JVMのチューニング - ITエンジニアとして生きる
  • JVMのオススメ起動オプション - oinume journal

    なんか秘伝のタレみたいになってきたので後世のために共有。 前提 Webアプリケーションを想定 TomcatなりJettyなりがListenするポートは外部からはアクセスできない ※-Xms -Xmx -Xmn あたりは搭載しているメモリ容量によって変える、-XX:MaxPermSize -XX:PermSizeは384mあれば十分だと思うけどロードするクラスの数次第なので要調整。 NOW=`date "+%Y%m%d-%H%M%S"` JAVA_OPTS="-server -Xms2g -Xmx2g -Xmn1g -XX:MaxPermSize=384m -XX:PermSize=384m \ -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=85 -XX:MaxTenuringThreshold=32 \ Javaプログラマーなら習得しておきたい J

    JVMのオススメ起動オプション - oinume journal
  • Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か

    GC周りでトラブルシューティングした際の経験や、Web等で調べたことをまとめてみる。 前提 ・JVMは、Sun Javaを想定。(他は使ったことないです。。。) ・Sun Java 1.5-1.6を想定。 目標 マイナーGC、Full GCそれぞれが頻発することなく、かつそれぞれの実行時間を1秒未満に抑えること。 マイナーGCは1秒未満どころではなく、もっと短くなるべき。どれくらいが理想かは?(0.1秒未満ぐらいを目指したい?) 連続した負荷状態(想定されるピークアクセス)でもOutOfMemoryErrorが発生しないこと。 理想的な状態は、上記に加えて、Full GCの発生が低頻度であること。 具体的には、できるだけマイナーGCで短命オブジェクト(1回使ったらもう使わないようなオブジェクト。逆にセッションオブジェクト等は長命オブジェクトとなる)を破棄させて、短命オブジェクトが、Tenu

    Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か
  • まじめにJVMチューニング: 第4回 GCアルゴリズムを変えてみる

    Java SE 7 Update 4から、GCの新しいアルゴリズムとして「G1GC」が追加されました。 Java6でもupdate 14から実験的に導入されているようです。 GCアルゴリズムについては下記に概要説明がありました。 第9回 [最終回]HotSpot JVMのGCを選択しよう G1GCアルゴリズムの詳細についてはこちらに超詳しく記載されています。 徹底解剖「G1GC」実装編 GCアルゴリズムの技術的な詳細解説だったら下記のページがよかったです。 GCアルゴリズム詳細解説 G1GCを使うためには -XX:+UseConcMarkSweepGC をはずし、 -XX:+UseG1GC を追加します。 G1GCはヒープを分割して管理しますが、分割のデフォルトサイズが1MBと小さいのでもう少し大きくします。 -XX:G1HeapRegionSize=8M MaxGCPauseMillis

  • JVMチューニング: G1GCの使いどころとCMS GCからのマイグレート

    Java7 Update4 (java7u4) で正式サポートされたG1GC(ガベージ・ファーストGC)ですが、Java9ではデフォルトGCになることが確定しています。 参考: JEP248 またG1GCは、CMS GCを長期的に置き換えるものとして計画されています。 そこで、どのようなアルゴリズムなのか知っておいたほうが良さそうなので調査しました。 G1GCが向いているケース G1GCが向いているのは下記の環境です。 ヒープサイズが大きな環境(6GB以上) 一時停止可能時間がシビア(0.5sec未満) Oracleの 9 ガベージファースト・ガベージ・コレクタによると、CMS GCもしくはParallel GCを使っていて次のいずれかに該当したらG1GCへの切り替えを検討しましょうとのことです。 Javaヒープの50%超がライブ・データ(≒必要なデータ)で占められている。 オブジェクトの

  • Rails/ActiveRecord バッチ処理の最適化 - Hack Your Design!

    目次 検証環境前提条件オリジナルコード ベンチマーク最適化1: 簡単な最適化 ベンチマーク最適化2: where & each を使う ベンチマーク最適化3: find_each を使う ベンチマーク最適化4: in_batches & update_all を使う ベンチマーク最適化5: where & update_all ベンチマーク最終結果「ActiveRecordデータ処理アンチパターン」で発表します参考リンクRailsのバッチ処理最適化の記事書いたら需要あるかな — toshimaru (@toshimaru_e) December 2, 2017ということで今日はRailsバッチ処理の最適化について書いてみたいと思います。 検証環境コードの検証に使った環境は下記の通りです。 macOS High Sierra (2.3 GHz Intel Core i5 / メモリ8G)Ru

    Rails/ActiveRecord バッチ処理の最適化 - Hack Your Design!
  • MySQLの障害対策 まじいい!!!!

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    MySQLの障害対策 まじいい!!!!
  • Java と比べて Clojure が 3 倍以上遅いというのは何かの間違いではないかと思って確かめたら,やっぱり間違いだった件 - tnoda-clojure

    マルチコアプログラミングの概念と Java 8/Scala/Clojure での書き方,および,各プログラミング言語間での比較記事がはてなブックマークで 93 ブクマ(執筆時点)を集めており,人気となっています. マルチコア時代のプログラマは関数脳になろう〜Scala・Clojure〜 - Tech-Sketch 記事を読んでみるとなるほど分かりやすく,各プログラミング言語の違いも比較的すっと頭に入ってくる良い記事でした.この記事を書いた作者に敬意を表します. しかし,まとめのところに書かれている実行時間比較を見てみると,何かがおかしいのです. (元記事,まとめの表からの引用) Java7 Java8 Scala Clojure 非並列処理実時間 0m32.304s 0m32.511s 0m50.478s 1m38.138s CPU時間 0m33.730s 0m35.842s 2m12.2

    Java と比べて Clojure が 3 倍以上遅いというのは何かの間違いではないかと思って確かめたら,やっぱり間違いだった件 - tnoda-clojure
  • Clojure勉強日記(その9 3.2 性能の最適化 - 夢とガラクタの集積場

    こんにちは。 徐々に書けることが広がってきてはいますが、まだ4分の1。 とりあえず地道に続けます。 前章で述べたJavaの呼び出しで述べた方法を使ってJavaを呼ぶのがClojureでは普通。 これで基的には十分に高速のはずだが、さらに高速化を行うことができる。 これは外部IFには影響を与えずに出来るため、後からチューニング・・・ということも可能。 1.性能のためにプリミティブを使う これまではパラメータに型情報をつけていなかった。 #メタデータで型ヒントをつけられるということについては書いてましたが。 これはコードをすっきりさせるが、その分データ型がわかりにくくなり、性能上のオーバヘッドも発生する。 → このやり方をダックタイピングという模様。 例として、1からnまで足し合わせる関数を考える。 (defn sum-to [n] (loop [i 1 sum 0] (if (<= i n

    Clojure勉強日記(その9 3.2 性能の最適化 - 夢とガラクタの集積場