タグ

最適化に関するiwwのブックマーク (110)

  • Gitリポジトリをメンテナンスして軽量化する - zatsu na benkyou matome saito

    保存版 この方の記事が最高に欲しかった、かつまとまっていたので自分の保存用です。 ↓こっちをみてください。 qiita.com これもいい qiita.com qiita.com qiita.com Gitリポジトリのメンテ? Gitリポジトリにあるファイルは .git がバージョン管理をしています。 今回はその .git をメンテナンスする話です。 はじめに リポジトリに容量の大きいファイルをコミットしてしまった git clone がやたらと時間がかかる(知らない間に容量の大きいファイルがコミットされている可能性がある) 複数あるリポジトリを統合したい こんな悩みを持ったことはないでしょうか。大型のプロジェクトでないと発生しないと思うので、個人プロジェクトではなかなか遭遇することはないでしょう。 今回は上記を解消するための リポジトリメンテナンス方法 をご紹介します。 !! 注意 !!

    Gitリポジトリをメンテナンスして軽量化する - zatsu na benkyou matome saito
  • 【MySQL】Table does not support optimize, doing recreate + analyze instead って何? at softelメモ

    MySQL】Table does not support optimize, doing recreate + analyze instead って何? MySQLではテーブル最適化はほとんど必要ないので、この件を気にする人もほとんどいないと思います。 偶然 optimize table したら見かけたのでメモ。 optimize table したら何かエラーっぽいものが出たよ? 日語版のMySQL5.1のマニュアルには見当たらないが、英語版のマニュアルには説明がある。 For InnoDB tables, OPTIMIZE TABLE is mapped to ALTER TABLE, which rebuilds the table to update index statistics and free unused space in the clustered index. Be

    【MySQL】Table does not support optimize, doing recreate + analyze instead って何? at softelメモ
    iww
    iww 2023/09/19
    InnoDBはoptimizeに対応してないけど代わりにテーブルの再生成で最適化しときました。 という報告
  • MySQLの全テーブルを最適化(OPTIMIZE TABLE)する

    パッケージソフトの開発会社や、業務系システムの開発会社にいた頃はデータベースといえばSQL ServerやOracleでした。 独立してからはオープンソース化の流れとライセンスの都合上でPostgreSQLを触る機会が多くなりましたが、MySQL格的に触り始めたのはわりと最近になります。MariaDBで興味を持ったのがきっかけですね。 Webサイトで使うデータベースを決めたら、まずメンテナンス用のスクリプトを組むのですが、はて、MySQLの場合はvacuumコマンド※がないのかな、と不思議に思いました。 PostgreSQLもバージョンアップによってvacuumしなくて良くなった!と聞いたときには、え、そんなバカな、と思いつつも一応調べてみるとauto vacuumできるようになったというだけでしたし。 MySQLのInnoDBは追記型データベースではないと言ってもメンテナンスコマンド

    MySQLの全テーブルを最適化(OPTIMIZE TABLE)する
    iww
    iww 2023/06/26
    『mysqlcheck -o --all-databases』
  • Graphillion: 数え上げおねえさんを救え / Don't count naively

    Graphillion は膨大な数のグラフに対して検索や最適化、列挙を行うための Python モジュールです。このビデオは Graphillion の概要を知るためのチュートリアルです。「フカシギの数え方」 http://youtu.be/Q4gTV4r0zRs の続編として作成されました。 Graphillion is a Python software package on search, optimization, and enumeration for a very large set of graphs. This video is a quick tutorial to learn what Graphillion is. The story follows our previous episode, "Let's count!" http://youtu.be/Q4gT

    Graphillion: 数え上げおねえさんを救え / Don't count naively
  • Windows10の標準アプリをまとめてアンインストール(削除)する方法 | 有限工房

    バージョン 1809以前は【こちら】を参照ください。 こんにちは。不可思議絵の具です。 Windows10パソコンを買ったら、不要アプリてんこ盛りでスタートメニューがゴチャゴチャ…。 不要な標準アプリは邪魔なので削除したい! ……と考える方に向けて、削除しても問題ない標準アプリの一覧をまとめました。 ほとんどの標準アプリは【項目右クリック→「アンインストール」】で削除できます。 関連記事 右クリックによるアンインストール方法 しかし、ごく一部の標準アプリは『PowerShellパワー・シェル』を使わないと削除できません。 「これは右クリックで消せる」 「これはPowerShellじゃないと消せない」 なんて切り分けて考えるのは面倒なので、 PowerShellで一括削除する方針で、 一覧から抜き出して自分用の削除コマンド集を作れる ようにしています。 「おまかせ全削除でいいよ」という方には

    Windows10の標準アプリをまとめてアンインストール(削除)する方法 | 有限工房
  • IBM Developer

    IBM Developer
    iww
    iww 2020/01/10
    再描画領域のでかさが何よりのコストになるので、一枚絵を重ねてスクロールとかやるよりも小さく分けてチマチマ描いた方がずっと速い という話
  • MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる

    仕事やらなんやらでMySQLのクエリの良し悪しを判断する必要があるとき、EXPLAINの内容だけだとどのぐらい良くなったり悪くなったのか分からないので SET long_query_time = 0; してrows_examined (そのクエリでrows_sent行の結果を返すために何行に触ったのか)も一緒に提示するようにしている(少なくともMySQL 5.7時点ではrows_examinedはslow_query_logでしか確認できないはずperformance_schemaが有効ならevents_statements_historyやその仲間たちで確認できるとのこと*1 MySQL :: MySQL 5.6 リファレンスマニュアル :: 22.9.6 パフォーマンススキーマステートメントイベントテーブル)。 例: 上の例のBeforeは、もともとDBAが書いた温かみのあるSQLでO

    MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる
    iww
    iww 2019/03/28
    rows_examined
  • stressコマンドの使い方 - Qiita

    Help us understand the problem. What are the problem?

    stressコマンドの使い方 - Qiita
  • ApacheでCGIを使う場合にpreforkを使った方が良い状況とそのチューニングについて - 人間とウェブの未来

    かなり今更感の漂う内容ではありますが、意外と情報が分散していたり、Apache2.4系を考慮した場合に足りていない内容があったのでこのエントリで一度まとめてみようと思います。 CGIを使うようなシステムでそれなりにアクセスが集中するサーバ、例えば日々のピーク時のApacheのbusyワーカー数が1000になるようなサーバで、かつ、それを処理可能なマシンスペックのサーバであることを前提にしています。 ApacheのMPMCGI実行アーキテクチャの復習 ApacheでCGIを使う場合には、MPMCGI実行アーキテクチャの組み合わせは大きく分けて以下の2つに分ける事ができます。 worker(event) + mod_cgid prefork + mod_cgi Apacheの2.4系から特にworker(event) + mod_cgidのモデルが推奨されているようです。また、2.4系では

    ApacheでCGIを使う場合にpreforkを使った方が良い状況とそのチューニングについて - 人間とウェブの未来
  • オブジェクト指向の呪いと、その避け方 - mizchi's blog

    このテーマで書く前に、まず、最初に自分に多少の偏りがあることを認めておかなくてはなりません。 オブジェクト指向より、関数指向寄り オブジェクト指向のアプローチは有用だが、ただしそれを実現する手段はクラスと継承ではない。 階層化されたツリー構造(GUI/リレーショナルな参照構造)に埋め込まれる状態はコード品質を悪化させるので、できるだけ出現するべきではない。 ただし、状態は確実に存在する。だからこそ慎重に扱うべきだ、という派閥です アンチパターン: 特に理由もないクラスメソッドへの所属 何かのバリデータを実装したいとします。 その関数がどこに所属するかについて、よく見るこれらの実装は全部アンチパターンといっていいと思います export class Validator { static validate() {...} } export class Validator { validate(

    オブジェクト指向の呪いと、その避け方 - mizchi's blog
    iww
    iww 2018/07/31
    『基本的には、「継承よりコンポジション」です。 それでもやらないといけないとしたら、ストラテジーパターンを想定したライブラリから、一回だけ』
  • ITProのチューニング記事(noatime付加)を検証してみた - 科学と非科学の迷宮

    (2008/6/14 13:30 追記) *** 注意事項 *** この記事の内容は古く、誤りがあります。 こちらの最新記事をお読みください。 http://d.hatena.ne.jp/shiumachi/20080614/1213415948 (2008/6/9 7:00 追記) kosakiさんが、atime 周りのマウントオプション(noatime, nodiratime, relatime)について詳しく解説されています(該当記事)。 thanx! (2008/6/9 21:00 追記) id:dankogai が、findによる検証方法の不備を指摘して下さいました(該当記事)。 また、kosakiさんもその件について補足してくれました(該当記事) thanx! 要約 ITPro 掲載のチューニング記事に書かれていた、 「mount オプションに noatime オプションを付加

    ITProのチューニング記事(noatime付加)を検証してみた - 科学と非科学の迷宮
    iww
    iww 2018/07/31
    1%も変わるのか。結構効果あるな
  • 現代のMySQLはもう不要にINをEXISTSに書き換えない

    漢(オトコ)のコンピュータ道: なぜMySQLのサブクエリは遅いのか。 この記事は 2009/3/25 に書かれたもののようである。 2009年3月といえばMySQL 5.1がGAになってわずか半年、MySQL 6.0.10-alphaがリリースされた頃で、MariaDBもまだ姿を見せていない頃だ。 時は流れて2015年、MySQL 5.6がGAになって早2年半、5.7のGAマダァ-? (・∀・ )っ/凵⌒☆チンチン な頃なので、もういい加減誰か言ってくれてもいいんじゃないかと思う。 もうMySQL(5.6)は不要にINをEXISTSに書き換えたりしないんだよって mysql51> EXPLAIN SELECT * FROM Country WHERE Continent = 'Asia' AND Code IN -> (SELECT CountryCode FROM City WHER

  • プログラム高速化の禁術 - Qiita

    はじめに これは昔(2010年頃)自分が使っていた高速化技法について書いたものです. 今となってはレガシーだったり,通用しないものもあるかもしれませんが,こういう知識も無くなってしまったり,自分も忘れてしまう気がしたので,メモ代わりに書いておきます. ただ言えることは,「最適化はするな」ということです.最適化すると,保守性が大幅に失われる危険性があります.そして,これから書く項目を1つ1つ行って,高速化できたとしても,せいぜい2倍程度です.ただその2倍程度の速度も欲しい!そのためには悪魔に魂と保守性を売る!という方はご覧ください.これらの高速化は割といろいろな言語に当てはまることも多いですが,大体C++で書くことを念頭に置いていただければ,幸いです.あと,個人的には競技プログラミングだったり,計算科学をやっていた時期に見つけた経験則なので間違ってる場合もあります. コンパイルオプションをこ

    プログラム高速化の禁術 - Qiita
    iww
    iww 2018/06/27
    「newするな」と「deleteするな」はバグを減らす効果もあるので良いと思う。
  • mineoが通信の最適化だけでなくhttps(SSL)では帯域制御もしているとのことなのでMVNO14社20枚のSIMで試してみた

    mineo AプランのSSL非対応(左)と、SSL対応(右)の違い。 pic.twitter.com/pQeXKaGN7c — Dohi Seiji@キノコの人 (@seijidohi) 2018年5月1日 httpだと77Mbpsなのにhttpsだと1.8Mbpsとは…。これは23時には解除されてhttpsでも速くなるそうなので、たしかに何らかの制御がされているようです。ちなみに始まるのは11時からだとか。 ポート規制実施の可能性についてはmineoサービス提供条件書に『サービス品質維持および設備保護のため(略)ネットワーク状況によりポート規制を実施する場合があります』と記載されている。 https://t.co/6W50ENk79Q pic.twitter.com/y3TDdTs8aj — 電波の妖精 (@biz4g) 2018年5月1日 通信の最適化の時もそうでしたが、一応規約的なも

    mineoが通信の最適化だけでなくhttps(SSL)では帯域制御もしているとのことなのでMVNO14社20枚のSIMで試してみた
    iww
    iww 2018/05/15
    楽天モバイルのぶっちぎりの遅さにびっくりした。俺こんな遅い回線で満足してたのか。 HTTPSがどうとかの土俵にも立ててない。 何に乗り換えても幸せになれるな
  • 高木浩光@自宅の日記 - 優良誤認表示の「通信の最適化」(間引きデータ通信)は著作権侵害&通信の秘密侵害、公正表示義務を

    ■ 優良誤認表示の「通信の最適化」(間引きデータ通信)は著作権侵害&通信の秘密侵害、公正表示義務を まえがき 3年前、「通信の最適化」でついに事故が発生し、炎上したことがあった。しかし、当時はまだこの問題への世間の理解が浅く、問題提起しても、天才プログラマの清水亮から「ピュアオーディオを有難がる宗教法人と大差ない」とか「トラブルはアプリ書いた人の能力の問題」などと小馬鹿にされる始末だった。川上量生は「どこが通信の秘密なんだよ」とひたすら独り言を続けていたし、ガラケー全盛期に名を馳せたケータイジャーナリストの面々もろくに動く様子がなかった。 ハッハッ、見ろ!第1種電気通信事業がゴミのようだ!! #通信の最適化(), 2015年6月 「通信の最適化」に関する高木浩光氏の見解, 2015年7月 kadongo38氏「日の通信事業者よりAppleやFacebook, Google の方が問題」,

    iww
    iww 2018/05/07
    『天才プログラマの清水亮』
  • 1216彩票-官网平台

    您不具备使用所提供的凭据查看该目录或页的权限。 请尝试以下操作: 如果您认为自己应该能够查看该目录或页面,请与网站管理员联系。 单击刷新 按钮,并使用其他凭据重试。 HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。 Internet 信息服务 (IIS) 技术信息(为技术支持人员提供) 转到 Microsoft 产品支持服务 并搜索包括“HTTP ”和“401 ”的标题。 打开“IIS 帮助”(可在 IIS 管理器 (inetmgr) 中访问),然后搜索标题为“身份验证”、“访问控制”和“关于自定义错误消息”的主题。

  • 軽い気持ちでLinkedListを使ったら休出する羽目になった話 - Qiita

    ざっくり言うと リスト構造のデータに対してランダムアクセスはしちゃだめだぞ。お兄さんとの約束だ! 発端 数年前に他部署の支援で作ったJavaのシステムに、ちょっとデカめのデータを突っ込んだらありえないほど遅いので助けてくれ、と連絡が入った。 まぁクエリとかインデックスをちょっと見れば直るっしょ・・・と鼻をほじりながら支援に向かった。 処理内容 遅い部分の処理は以下のようなものであった。 処理対象のデータをListで受け取る。 それをforループで1件ずつ前処理する。 処理結果をオブジェクトに格納し、ORマッパーでDBにINSERTする。 これだけ? そう、これだけだ。並列処理なんて高級なことはもちろんやってない。 インフラ調査 処理中のサーバのようすを調査する。今回のインフラは典型的な3層3サーバ構成。 WEBサーバはなにもかもが余裕。 APサーバではCPUを1つ使い切っている。 14コア

    軽い気持ちでLinkedListを使ったら休出する羽目になった話 - Qiita
  • フォルダーの最適化 | Thunderbird ヘルプ

    この記事は、Thunderbird がメッセージをディスクにどのように保存しているかを説明し、メッセージフォルダーを定期的に最適化する必要がある理由を説明します。最適化は、定期的なファイルメンテナンスプロセス (時々「パージ」と言われることもあります) で、メッセージを変更したり削除したりすることなくディスクの空き容量を回復させます。 Thunderbird はメッセージをどのように格納しているか Thunderbird は、2 つの格納方式を持っています: MBOX が既定のデフォルト ファイル形式で、フォルダー内のすべてのメッセージがディスク上の 1 個のファイルに格納されています。これにより、最適化プロセスが便利になり、その方法と理由を説明することがこの記事の目的です。 Maildir はあたらしい格納形式で、フォルダー内のすべてのメッセージが別々のファイルに格納されています。Mai

  • GCC 4.7の最適化オプション比較表 - Shohei Yoshida's Diary

    GCCの各オプティマイズレベルで有効になる最適化を調べる - Life is very short の GCC 4.7版。"-Ofast"を追加しました。"-Ofast"は規約を一部 無視した最適化を行うようです。"-O3"より高速になるよう意図 されています。 なお GCC 4.8では "-Og"という最適化とデバッグ機能を兼ね備えた オプションが追加されるそうです。需要がわかりづらいですが・・・。 表生成スクリプト #!/usr/bin/env perl use strict; use warnings; $ENV{LANG} = 'C'; my @levels = qw(-O0 -O1 -O2 -O3 -Os -Ofast); my @base = qw(gcc -- -Q --help=optimizers); my %optimize; for my $level (@level

    GCC 4.7の最適化オプション比較表 - Shohei Yoshida's Diary
  • GCCの最適化オプションは "-O3"までしかない - Shohei Yoshida's Diary

    ここ十数年ぐらいの GCCの最適化は "-O3"までありません。 稀に "-O3"より大きい、"-O4"等を見るけど、それは結局 "-O3"に されてしまいます。 追記 なお最高速度のオプションは "-Ofast"です。ただこれは規約に 沿わない形での最適化も含まれます。大部分は問題無いと思い ますが、利用する場合は一応注意した方がよいでしょう。 GCC 4.8 snapshotのソースコードで確認したところ、一応内部的には保持 されていますが、結局最大で 3との比較しかないので意味がありません。 (255以上だと 255以上にされます) 大昔は "-O6"まであったという話ですが、今はありません。 将来的にどうなるか知りませんが、意図しないことをされないように "-O3"までをつけるのが無難でしょう。 各オプションの違いを知る。 GCCの各オプティマイズレベルで有効になる最適化を調べる

    GCCの最適化オプションは "-O3"までしかない - Shohei Yoshida's Diary
    iww
    iww 2017/10/31
    -Ofastで最速