問題タブ [packed]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - minまたはgzip、どちらが優れていますか?
jquery-1.4.2.min.js は 71.8 KB gzip を有効にしてこのツールで同じファイルを圧縮すると、32.9 KB になります。
どちらが良いですか?後者の場合、jQuery は圧縮されていない最小バージョンではなく、パックされたファイルも提供しないのはなぜですか?
私の質問: 1 つは縮小されて gzip が有効になり、もう 1 つは縮小されてパックされて gzip が有効になります。どちらを使用する必要がありますか? それが 32KB の場合、jquery が代わりに縮小されパックされたバージョンを提供しないのはなぜでしょうか。特定の理由はありますか?
ありがとう
c - Cを使用して「パックされた」構造体をファイルに書き込む
Cを使用して構造体をファイルに「パック」および「書き込み」するには、次のようにするにはどうすればよいですか。
次のようにファイルに書き込まれます
arrays - Delphiの配列とパック配列に違いはありますか?
C / C ++では、常に
Pascal / Delphiでは、「packed array」を使用して上記のアサーションが真であることを確認できますが、「packed」指定子はDelphiの配列に実用的な値を持っていますか?'unpacked'配列の例を作成できません。配列は常に'packed'のようです。
(C / C ++構造体とDelphiレコードは異なります。フィールドの配置により、構造体のサイズがフィールドのサイズの合計よりも大きくなるように、「アンパック」することができます。)
list - PackedArraysの高速製品操作はありますか?
Mathematicaでは、すべてのマシンサイズの整数または浮動小数点数を含むベクトル(または長方形の配列)をパックされた配列に格納できます。これらのオブジェクトはメモリをあまり消費せず、一部の操作ははるかに高速です。
RandomReal
可能な場合はパック配列を生成します。Developer
パックされた配列は、関数を使用してアンパックできますFromPackedArray
これらのタイミングを考慮してください
したがって、パックドアレイの場合は、非パックドアレイの場合Total
よりも何倍も高速ですPlus @@
が、ほぼ同じです。Plus @@
パックされた配列では実際には少し遅いことに注意してください。
今考えてみましょう
最後に、私の質問です。Mathematicaには、パックされた配列のリスト積に対して、類似した高速な方法がありTotal
ますか?
数値誤差が乗算と複合する方法のために、これは不可能かもしれないと私は思う。また、この関数は、マシン以外のフロートを返すことができる必要があります。
list - PackedArray の高速リスト製品サイン?
私の前の質問の続きとして、PackedArray のリスト積を見つける Simon の方法は高速ですが、負の値では機能しません。
これは最小限の時間ペナルティで「修正」できますAbs
が、記号が失われているため、製品の記号を個別に見つける必要があります。
私が試した最速の方法はEvenQ @ Total @ UnitStep[-lst]
もっと速い方法はありますか?
c - Cの「パック」構造とは何ですか?
Microchip C30コンパイラ用に記述されたCコードをいくつか調べますが、構造体が次のように定義されていることがよくあります。
パックとはどういう意味ですか?
c++ - 派生クラスのパック構造体のビットサイズを変更する
既存のコード:
私の要件:ここで、Aからクラスを派生させる必要があり、派生クラスでは、x1、x2、およびx3のビットサイズを変更する必要があります。
どうすればこれを行うことができますか?ご協力いただきありがとうございます !
編集
私は約のクラス(Aとしましょう)を持っています。7〜8個のユニオン(それぞれがHWレジスタを表す)、および約20個(約)の関数。これらの関数のほとんどは、これらの共用体のインスタンスを作成し、ビット(私の例では、x1、x2、x3など)を使用します。
今、私の要件は、95%の機能が同じである新しいハードウェアのコードを追加することです。変更には、レジスタのビットサイズの変更、および一部の機能の変更が含まれます。したがって、20の関数のうち、実装を変更するには、少なくとも5つの関数を変更する必要があります。これが、継承を選択してこれらの関数をオーバーライドする理由です。
残りの15個の機能は、ビットサイズの変更のみが変更されます。したがって、これらの関数をオーバーライドしたくはありませんが、基本クラスの関数を使用します。ただし、レジスタ(ユニオン)のビットサイズは変更する必要があります。それ、どうやったら出来るの?
delphi - Nothing but "packed" records -- should I fix it?
While reviewing some code in our legacy Delphi 7 program, I noticed that everywhere there is a record it is marked with packed
. This of course means that the record is stored byte-for-byte and not aligned to be faster for the CPU to access. The packing seems to have been done blindly as an attempt to outsmart the compiler or something -- basically valuing a few bytes of memory instead of faster access
An example record:
Should I fix this and make every record normal or "not" packed? Or with modern CPUs and memory is this negligible and probably a waste of time? Are there any problems that can result from unpacking?
php - Sha 1 ハッシュとビット トレント プロトコル (マグネット) でのその長さは?
情報を得るために Web サイトをスクレイピングしていますが、マグネット リンクの sha1 ハッシュを取得する必要があります。
私はすべてのマグネットリンクを単純に取得しますpreg_match_all
が、結果では奇妙な結果が得られます。16 進形式のマグネットハッシュの長さは 40 文字であることを理解していますが、32 文字の長さの文字列を返す結果も取得しています。その他の非 16 進数値。
私の結果からの 2 つの例、最初はマグネット リンク内の通常の 40 の 16 進数ハッシュ、
そして、ハッシュが 32 の非 16 進数値である場所を理解できない他の奇妙な結果、
ハッシュは何らかの方法でパックされていますか? pack('H*', $hash)
ハッシュのバイナリを返すので、それは行われていないことを知っていますか? 私がテストしたように、マグネットリンクは機能します。
さらに、この Web サイトでこれらのハッシュが使用されていることを確認できます
マグネット リンクにカーソルを合わせて、マグネット ハッシュを調べます。
ありがとう
c++ - ビットフィールドをさらに密にパッキングする
派生クラスのビットフィールドに問題があります。
g++ コンパイラを使用すると、クラスに割り当てることができ、__attribute__((packed))
ビットフィールドがパックされます。そう
4 バイトのみを使用します。ここまでは順調ですね。
ただし、クラスを継承すると、このように
上記のクラス A と同じコンテンツを持つクラス C も同じレイアウト、つまり 4 バイトを占めると予想します。ただし、C は 5 バイトを占有することが判明しました。
だから私の質問は、私は何か間違ったことをしているのですか?それともコンパイラの問題ですか?見落とし、本当のバグ?
私はグーグルを試しましたが、興味のないLinuxとWindows(コンパイラがMSVCをエミュレートしようとする場所)の違いを除けば、実際には何も思いつきませんでした。これはLinux上だけです。