Fx 126.0

  • Re: Fx 126.0

    Tete

    TEST2をビルドする直前にVisual Studio 2022を17.10.0に更新したのですが、それに伴いCランタイムにも変更が加わって、下記のような具合が生じたのかもしれません。引き続き調査します。
    https://github.com/Azure/azure-cosmos-dotnet-v3/issues/4485
    https://github.com/microsoft/STL/pull/4000

    Re: Fx 126.0

    Tete

    原因が判明しました。Windowsに新しいCランタイムライブラリがインストールされていない環境で、TEST2がクラッシュするようです。
    TEST2には新しいCランタイムライブラリ(バージョン14.40.33810.0)を添付しましたが、実際にはそれらはロードされず、Windowsにインストールされている方のDLLがロードされてしまうようです。

    新しいCランタイムライブラリをWindowsにインストールしたところ、クラッシュは収まりました。
    今のところ新しいCランタイムライブラリのインストーラは、MSのサイト上では公開されていないようなので、私が新しいCランタイムライブラリ(バージョン14.40.33810.0)のインストーラ(vc_redist.x64.exe)を配布してユーザーにインストールを求めるか、あるいはTEST2に添付したCランタイムライブラリを使わせる方法を見つけるかしかないようです。

    Re: Fx 126.0

    Tete

    Cランタイムライブラリの最新バージョン(14.40.33810)が公開されているようです。これをWindowsにインストールすると、TEST2のクラッシュが収まるかもしれません。
    https://aka.ms/vs/17/release/vc_redist.x64.exe

    「最新バージョンは 14.38.33135.0 です」と書かれていますが、実際には14.40.33810のインストーラがダウンロードされるようです。
    https://learn.microsoft.com/ja-jp/cpp/windows/latest-supported-vc-redist?view=msvc-170

    Re: Fx 126.0

    Tete

    実験版3を公開しました。以下の記事等を参考にして、コンパイルオプションに-D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTORを指定してビルドしてみました。これで不具合が収まるとよいのですが。
    I have uploaded TEST3. I tried building it by adding -D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR to the compile options, referring to the following article and such. I hope this resolves the problem.
    https://github.com/microsoft/STL/wiki/Changelog#vs-2022-1710

    Re: Fx 126.0

    Uli

    Hello Tete-san,

    the latest version is running fine and feels extremely “snappy” – Thank you! 🙂

    Best regards, Uli

    Re: Fx 126.0 実験版3

    molio(tom)

    今の所、普通に起動できています。

    スピードはハードが古いためか、体感ではよく解りません。

    Re: Fx 126.0

    molio(tom)

    あ、以前 名前を何で登録したか忘れたのでtom にしましたが、古いバージョンへのリンクをお願いしたmolioです。tom とmolioは同一人物です。

    Re: Fx 126.0

    Tete

    Uliさん、molioさん、こんにちは。試してくださりありがとうございます。
    Speedometer 3.0とレタスベンチマーク(local)で試したところ、TEST3はTEST1よりも少し早くなっていました。ただし、TEST2(廃版)の方がTEST3よりもわずかに早いようです(ビルド時間も少し早い)。
    という訳で、TEST2の不具合を修正したTEST4を作ろうかと思います。CSIR PGOについて調べましたが、ビルドフェーズ全てをthinLTOに統一している例が多かったですし。

    Speedometer 3.0
    https://i.imgur.com/m6Ai3I0.png

    レタスベンチマーク(local)
    https://i.imgur.com/5hnSb1h.png

    各ビルドに適用した主な最適化:
    通常版: IR PGO (thinLTO + fullLTO)
    TEST1: IR PGO (-enable-ext-tsp-block-placement=1、ThinLTO + FullLTO)
    TEST2: CSIR PGO (-enable-ext-tsp-block-placement=1、ThinLTO * 3)
    TEST3: CSIR PGO (-enable-ext-tsp-block-placement=1、ThinLTO + FullLTO * 2)

    Re: Fx 126.0

    テテファン

    実験版3、私の環境(i7-8700)でも起動しました。でも、体感ではよく解りません。

    Re: Fx 126.0

    Tete

    試してくださりありがとうございます。自分も体感では良くわかりませんでした。
    Speedometer等のベンチマークテストを繰り返してグラフ化して、グラフの一部を拡大して、ようやく差があるらしいと判断する程度です。

    Re: Fx 126.0

    Uli

    TEST4 running fine so far!
    Although i “feel” no significant speed differences to TEST3?

    Re: Fx 126.0

    Tete

    Thank you for trying it out. I think so, too.
    Based on the simple benchmark tests I have run, there seems to be little difference between the two.
    For now, I am thinking of using the TEST4 way, which takes less time and puts a bit less load on the PC during build compared to TEST3.

    Re: Fx 126.0

    アイヴァーン( Ivarn )

    テテさん、おはようございます。

    Firefox 126.0.1 がリリース準備されている関係か、126.0 版の JLP ファイルが適用されている環境ではアドオンの自動更新で
    Firefox 126.0.1 の JLP 版( 126.0.20240526.221752 )に更新されて、メニューなどの日本語化が機能しなくなる
    ようです。
    (公式 en-US に JLP を適用し、手動更新しても 126.0.20240526.221752 になってメニューが英語表示となって
     しまうことから、対応最小バージョンが 126 のためではないかと思われます。)

    お手のあいている際に更新をお願いしたく…。

    Re: Fx 126.0

    テテ

    アイヴァーンさん、こんにちは。
    お知らせくださりありがとうございます。
    承知しました。これから126.0.1をビルドしますね 🙂

    Re: Fx 126.0.1

    Uli

    Already using 126.0.1 – running fine – Thank you! 🙂

コメントする