パスワードを忘れた? アカウント作成
16775062 story
マイクロソフト

Insider Previewでテスト中の新しい圧縮ファイルの展開は激遅な模様 52

ストーリー by nagazou
本番までに直るといいね 部門より
過去記事でも取り上げているように、Windows11では、Tar、7-Zip(7z)、RAR、gzといったさまざまな圧縮フォーマットをネイティブでサポートする予定となっている。この機能は2023年後半に実装される予定だが、6月末からはWindows 11 Insider Previewで試験的に提供されている。しかし、現時点ではファイルエクスプローラーにおける『.rar』や『.7z』などの圧縮ファイルを解凍する際の速度が遅いことが指摘されている(NeowinニッチなPCゲーマーの環境構築Z)。

Neowinが実施したテストでは、RARファイルの解凍速度は約2~3倍、7zファイルの解凍速度は約6~8倍も遅かったという。特に7zファイルの解凍速度は顕著に遅かったようだ。とはいえ、小さな圧縮ファイルの解凍に関しては実用上の問題はないとしている。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 作者ごと買い取ればいいのに
    • by Anonymous Coward

      オープンソースのライセンス変えたら恨まれる
      かも

  • by Anonymous Coward on 2023年09月01日 7時11分 (#4520778)

    CPUが十分、暖まっていなかったんだろう

  • by Anonymous Coward on 2023年09月01日 7時21分 (#4520781)

    >小さな圧縮ファイルの解凍に関しては実用上の問題はない
    って言われても、小さな圧縮ファイルになるようなものに.rarを使うのかというと…
    .7zはzipに代わるものでしょ?くらいの感覚で使ってる人を稀に見る印象あるけど

  • by Anonymous Coward on 2023年09月01日 7時22分 (#4520782)

    >RARファイルの解凍速度は約2~3倍、7zファイルの解凍速度は約6~8倍

    比較対象は?

    • by Anonymous Coward

      リンク先くらい見なよ。

      • by Anonymous Coward

        それはそれとして、ストーリー本文に書いてほしいとは思う。

      • by Anonymous Coward

        #4520782じゃないけどリンク先を見てきた
        WinRARとNanaZIPと比較してだそうな

        WinRAR、まだ生きていたのか

  • by Anonymous Coward on 2023年09月01日 7時22分 (#4520783)

    デバッグログを出しまくっているだけだったりとか

    • by Anonymous Coward

      どこかになにかを送ってたり

  • by Anonymous Coward on 2023年09月01日 7時23分 (#4520784)

    Microsoftとはいえファイル圧縮展開なんて面倒なコード自前で書くのは滅多にないしSharpZipLibでも使ってんじゃないの…と思ったらlibarchiveだった。そりゃネイティブだわな。
    単純に手軽にライブラリ使ってUIだけ実装して機能実装しただけ。
    要は外部のライブラリだから遅くてもどうしようもないし、20年来のライブラリだから今更速くはならんでしょ。
    てか実際libarchiveって遅いの? Microsoft側が何かミスったって話?
    別のライブラリに乗り換える手もあるけどGPLとかだと避けるしかない。
    自分はWSLでffmpeg呼ぶくらいだから気にしない。速い方が良いけど、楽な方が大事。

    それよりこの手の大型ライブラリは脆弱性の影響を受けそうなのが怖いね。
    7z圧縮なんて使わない人なら、月1再起動がたまに年1〜2回月2になったりしたらむしろ嫌かも。

    • by Anonymous Coward on 2023年09月01日 8時48分 (#4520811)

      おそらくlibarchiveの問題ではなく、ソリッド圧縮書庫の扱いで間抜けなことをしているせい。
      ソリッド圧縮の書庫は、途中から1ファイル取り出したいだけでも、先頭から目的のファイルに到達するまでのすべてのファイルを展開しなければならない(実際に展開したいファイル以外は書き出す必要ないけど)。
      エクスプローラーの標準機能で全ファイル展開すると、書庫内の全ファイルに対して1ファイル展開を繰り返すような動作をしていると考えられる。Zipのような書庫なら問題ないが、ソリッド圧縮書庫でそれをやったら計算量がO(n^2)になる。
      Windows標準のtarコマンドも同じlibarchiveのDLLを使用しているから、tarコマンドでの展開と速度を比べたらはっきりするんじゃないかな。

      親コメント
      • by Anonymous Coward

        あーあれか。
        うっかり1ファイル単位で展開すると遅いよね。
        そして全ファイル展開を特別扱いできるようなインターフェースがなけりゃ大手術だ。

        ソリッド圧縮は良し悪しだよね。
        細々したファイルや類似した内容ならかなり高効率になる一方、個別ファイルが欲しい時はくっそ遅い。
        まぁそれなら面倒なだけで難しい話ではなしその内対処してくれるでしょ。

        • by Anonymous Coward

          ファイル単品を、それも一気に多数を扱いたいのに、
          圧縮したまま逐一展開なんてやり方が横着すぎるだけの気もする。
          素直にアーカイブを展開しよう。

          ……とか言われたらこのままかも。

          でもそのままでも、二重圧縮が許容されるなら無圧縮でアーカイブしてから圧縮しとけば、
          2回開いた時点で無圧縮アーカイブがテンポラリあたりに展開されて支障なく扱えたりしないかな。
          というかソリッド圧縮の場合も一回テンポラリにソリッドブロック展開出来れば……

      • by Anonymous Coward

        こういうおそらくってどれくらいの根拠で言ってるんだろう。

        速度低下が書庫内のファイル数に依存するなら元記事のn~m倍は結構雑な数字だよね。

        • by Anonymous Coward

          「ファイル数が増えるほどひどい遅さになる」は「ファイル数が少なければ遅くならない」ではないよ。
          ファイル数一桁でも先頭ファイルが巨大だったりすると数十倍遅くなることは十分ありうる。

        • by Anonymous Coward

          原因を考えずに適当に計測するから元記事のようなことになる。小さいファイルが多数入っているファイルのほうが遅くなるとか1ファイルしか入っていないならどれだけ大きくても速度は変わらないとか仮説を検証するための実験がいくらでも考えられる

        • by Anonymous Coward

          こっち [srad.jp]にも書いたけど、ソリッド圧縮書庫で遅くなるというのはMS自身が認めていることなので、そこからの推測。

      • by Anonymous Coward

        > 書庫内の全ファイルに対して1ファイル展開を繰り返すような動作

        そのせいで、Leeyesでの7zアーカイブ閲覧が激遅だったのを思い出しました。

    • by Anonymous Coward

      普通にlibarchiveが遅いんでしょうね。
      MSはlibarchiveを参照しているだけでしょうけど、
      MSの技術者がlibarchiveに高速化コードを提供してあげればよいのに…。

    • by Anonymous Coward

      >この手の大型ライブラリは脆弱性の影響を受けそうなのが怖いね。
      でもまぁMSが責任持ってアップデートしてくれるのはうれしい。
      様々なアーカイバがインスコされているのを観測しているが、
      PCセットアップ時にインスコされたまま一切アップデートされていないことが多い。

  • by Anonymous Coward on 2023年09月01日 8時14分 (#4520798)

    大量の小さなファイルが含まれていると、エクスプローラでは遅く感じる。そこにボトルネックがあるんだろうと勝手に想像してる。

    • by Anonymous Coward

      そういう意味で元記事にはTARの速度も書いているけど、
      そっちは他のツールと変わらない速度だった模様。
      シェルやエクスプローラの問題じゃないと思うよ。

    • by Anonymous Coward

      シェルのツリービューがzipファイルをフォルダとみなして中身を見に行く機能があるので、
      大量のzipファイルがあるフォルダを開くとそれだけで負担かかります
      レジストリの設定でこれは抑制できます

  • by Anonymous Coward on 2023年09月01日 8時37分 (#4520808)

    WinRAR6.22以前に脆弱性があるそうなので、対応済みの6.23にする事を推奨するそうな。
    UnRAR.dllやUnRAR64.dllは問題ないそうです。

  • by Anonymous Coward on 2023年09月01日 8時41分 (#4520809)

    提供開始したときのMicrosoftのブログ(タレコミからリンクしている)に

    Please note we are aware of some performance issues with some archive file formats – see the known issues below.

    [NEW] Copying files out of large archives or using “Extract All” might be slower than expected for “solid” .7Z or .rar archives.

    ってしっかり書かれてるじゃん。Microsoftのことを疑うのはいいけど、さすがに自分に不利なことを書いているときまで疑う必要はないんじゃないかな

    • by Anonymous Coward

      ソースもロクに読まずにでたらめな暴論を垂れてれば
      お前みたいなお人好しが皆まで解説してくれるからな。

      • by Anonymous Coward

        でもそれがなかったら、フェイクニュース垂れ流しだよ。

        • by Anonymous Coward

          煽るタイプの教えてクンにコンパクトな蔑称を付けて一言で封をするのがベストだと思う。
          まじめに取り合ってる時点でデマの火点けに加担してるようなものでしょ。

  • by Anonymous Coward on 2023年09月01日 8時54分 (#4520816)

    rarで圧縮したかったり、リカバリーレコード機能を使いたいならWinRARになるのかな?

    • by Anonymous Coward

      リカバリレコードって便利なようで心の贅肉みたいなもんですよね
      ネットワーク経由なら必ず誤り訂正なんかで壊れたデータが入らないようになってる
      あり得るとしてHDD・SSD・CD・DVDなんかの一部データ破損時に救えるかもってことだけど、そこで壊れて困るようなデータならRAID組んだNASに入れるなりクラウドに突っ込むのが正道だろうし
      ただ単純に7-zipよりrarの方が圧縮・展開が高速なのでrar使ってます、7-zipの方が圧縮率が高いけど

      • by Anonymous Coward

        使ったことはないけど、光学ディスクの容量埋めには便利だと思う。
        余ったらただ捨てるだけなんだから何かに使いたい。
        毎回フロッピーディスク何枚分を捨ててるのかと思うと心が休まらない。
        そういう時にリカバリレコードがあれば心の安息が得られ、強いては無駄に手動手探り0-1 ナップサック問題解決をする時間を節約できる。
        ハイシエラホテルでその辺きちんと話し合って、ISO 9660に盛り込まれるべきだったと思う。

        使わないのは普段7-zipを使ってるのと、光学ディスクに圧縮ファイル一つってのは嫌なのと、各ディスクのフォルダ・ファイル構造を検索用に記録する際に邪魔だから。

      • by Anonymous Coward
        リカバリレコードはファイル共有でみんなのキャッシュをかき集めても99%しかないみたいな場合のためのものです
        • by Anonymous Coward

          不良セクタ等で一部欠落した時に救えるので意味は有る。

      • by Anonymous Coward

        大して機能しないのは同意するけど。

        ネットワークは組み合わせによってはチェックサムが無効になったり
        (オフロードとの相性かも)して動画が一部化けて落ちてくるケースは起きたことがあるし、
        CDはISOではなくMode1のまま(Bin+cue/Img+cue)読み込むと、結構な頻度でECC領域は化けている。
        EDC正常ならECC破損でもエラー吐かないってだけで結構化けまくってる。

        意外と破損って多い。

    • by Anonymous Coward

      7-zipは玄人衆にはいいかもだが、素人衆向けにはいまひとつ垢ぬけないので弊社ではPeaZipを推奨してる。
      https://peazip.github.io/ [github.io]

      でも多数派は未だにLhaplus。
      更新止まってるのにいつまでつこてんねん…。という話をしても響かないようで。

      • by Anonymous Coward

        自分もPeaZipをメインにしている。Lhaplusは窓の杜が未だに定番としてトップページで推奨しているからな。
        他にSumatraPDF、Mery、Pixia、DOSBox-X、MSYS2、Everything、VideoLAN、Winaero Tweakerなどを使っている。

  • by Anonymous Coward on 2023年09月01日 9時08分 (#4520826)

    アーカイバごとにフリーのライブラリを探して実装するのは大変なので、
    MSが主要全アーカイブ対応APIを用意すればいいのに

    まあ、7-zipのライブラリが、主要全アーカイバ対応解凍ライブラリとして使われてることが多いが

    • by Anonymous Coward

      統合アーカイバ・プロジェクト [csdinc.co.jp]

      似たようなことやっててもアーカイバごとの違いはけっこうあるようで、共通APIを用意しても結局アーカイバごとの個別対応が必要。(COMでないDLLゆえの限界なのかもしれないけど)

      • by Anonymous Coward

        今時COM実行ファイルって、Windows上で動くの?(COM違い)

        • by Anonymous Coward

          COM形式は本来16bitなシステムでの実行形式なので、64bitなWindowsで動かない筈。
          でもCOM拡張子なEXE形式とかもある(command.com等)ので、それらはワンチャン動くかも。

  • 圧縮フォルダの対応形式が増えると、各圧縮ファイルがフォルダツリーにフォルダとして表示されるから、大量のRARがあるフォルダなんか開いた時には、下階層のフォルダが見つけづらいんだよ
    フォルダツリーに圧縮フォルダを表示しないオプションをつけてほしい

typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...