問題タブ [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.

0 投票する
3 に答える
3233 参照

javascript - minまたはgzip、どちらが優れていますか?

jquery-1.4.2.min.js は 71.8 KB gzip を有効にしてこのツールで同じファイルを圧縮すると、32.9 KB になります。

どちらが良いですか?後者の場合、jQuery は圧縮されていない最小バージョンではなく、パックされたファイルも提供しないのはなぜですか?

私の質問: 1 つは縮小されて gzip が有効になり、もう 1 つは縮小されてパックされて gzip が有効になります。どちらを使用する必要がありますか? それが 32KB の場合、jquery が代わりに縮小されパックされたバージョンを提供しないのはなぜでしょうか。特定の理由はありますか?

ありがとう

0 投票する
4 に答える
2980 参照

c - Cを使用して「パックされた」構造体をファイルに書き込む

Cを使用して構造体をファイルに「パック」および「書き込み」するには、次のようにするにはどうすればよいですか。

次のようにファイルに書き込まれます

0 投票する
2 に答える
5441 参照

arrays - Delphiの配列とパック配列に違いはありますか?

C / C ++では、常に

Pascal / Delphiでは、「packed array」を使用して上記のアサーションが真であることを確認できますが、「packed」指定子はDelphiの配列に実用的な値を持っていますか?'unpacked'配列の例を作成できません。配列は常に'packed'のようです。

(C / C ++構造体とDelphiレコードは異なります。フィールドの配置により、構造体のサイズがフィールドのサイズの合計よりも大きくなるように、「アンパック」することができます。)

0 投票する
3 に答える
590 参照

list - PackedArraysの高速製品操作はありますか?

Mathematicaでは、すべてのマシンサイズの整数または浮動小数点数を含むベクトル(または長方形の配列)をパックされた配列に格納できます。これらのオブジェクトはメモリをあまり消費せず、一部の操作ははるかに高速です。

RandomReal可能な場合はパック配列を生成します。Developerパックされた配列は、関数を使用してアンパックできますFromPackedArray

これらのタイミングを考慮してください

したがって、パックドアレイの場合は、非パックドアレイの場合Totalよりも何倍も高速ですPlus @@が、ほぼ同じです。Plus @@パックされた配列では実際には少し遅いことに注意してください。

今考えてみましょう

最後に、私の質問です。Mathematicaには、パックされた配列のリスト積に対して、類似した高速な方法がありTotalますか?

数値誤差が乗算と複合する方法のために、これは不可能かもしれないと私は思う。また、この関数は、マシン以外のフロートを返すことができる必要があります。

0 投票する
2 に答える
174 参照

list - PackedArray の高速リスト製品サイン?

私の前の質問の続きとして、PackedArray のリスト積を見つける Simon の方法は高速ですが、負の値では機能しません。

これは最小限の時間ペナルティで「修正」できますAbsが、記号が失われているため、製品の記号を個別に見つける必要があります。

私が試した最速の方法はEvenQ @ Total @ UnitStep[-lst]

もっと速い方法はありますか?

0 投票する
5 に答える
49866 参照

c - Cの「パック」構造とは何ですか?

Microchip C30コンパイラ用に記述されたCコードをいくつか調べますが、構造体が次のように定義されていることがよくあります。

パックとはどういう意味ですか?

0 投票する
3 に答える
525 参照

c++ - 派生クラスのパック構造体のビットサイズを変更する

既存のコード:

私の要件:ここで、Aからクラスを派生させる必要があり、派生クラスでは、x1、x2、およびx3のビットサイズを変更する必要があります。

どうすればこれを行うことができますか?ご協力いただきありがとうございます !

編集

私は約のクラス(Aとしましょう)を持っています。7〜8個のユニオン(それぞれがHWレジスタを表す)、および約20個(約)の関数。これらの関数のほとんどは、これらの共用体のインスタンスを作成し、ビット(私の例では、x1、x2、x3など)を使用します。

今、私の要件は、95%の機能が同じである新しいハードウェアのコードを追加することです。変更には、レジスタのビットサイズの変更、および一部の機能の変更が含まれます。したがって、20の関数のうち、実装を変更するには、少なくとも5つの関数を変更する必要があります。これが、継承を選択してこれらの関数をオーバーライドする理由です。

残りの15個の機能は、ビットサイズの変更のみが変更されます。したがって、これらの関数をオーバーライドしたくはありませんが、基本クラスの関数を使用します。ただし、レジスタ(ユニオン)のビットサイズは変更する必要があります。それ、どうやったら出来るの?

0 投票する
4 に答える
1609 参照

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?

0 投票する
2 に答える
1440 参照

php - Sha 1 ハッシュとビット トレント プロトコル (マグネット) でのその長さは?

情報を得るために Web サイトをスクレイピングしていますが、マグネット リンクの sha1 ハッシュを取得する必要があります。

私はすべてのマグネットリンクを単純に取得しますpreg_match_allが、結果では奇妙な結果が得られます。16 進形式のマグネットハッシュの長さは 40 文字であることを理解していますが、32 文字の長さの文字列を返す結果も取得しています。その他の非 16 進数値。

私の結果からの 2 つの例、最初はマグネット リンク内の通常の 40 の 16 進数ハッシュ、

そして、ハッシュが 32 の非 16 進数値である場所を理解できない他の奇妙な結果、

ハッシュは何らかの方法でパックされていますか? pack('H*', $hash)ハッシュのバイナリを返すので、それは行われていないことを知っていますか? 私がテストしたように、マグネットリンクは機能します。

さらに、この Web サイトでこれらのハッシュが使用されていることを確認できます

http://eztv.it

マグネット リンクにカーソルを合わせて、マグネット ハッシュを調べます。

ありがとう

0 投票する
2 に答える
1034 参照

c++ - ビットフィールドをさらに密にパッキングする

派生クラスのビットフィールドに問題があります。

g++ コンパイラを使用すると、クラスに割り当てることができ、__attribute__((packed))ビットフィールドがパックされます。そう

4 バイトのみを使用します。ここまでは順調ですね。
ただし、クラスを継承すると、このように

上記のクラス A と同じコンテンツを持つクラス C も同じレイアウト、つまり 4 バイトを占めると予想します。ただし、C は 5 バイトを占有することが判明しました。

だから私の質問は、私は何か間違ったことをしているのですか?それともコンパイラの問題ですか?見落とし、本当のバグ?

私はグーグルを試しましたが、興味のないLinuxとWindows(コンパイラがMSVCをエミュレートしようとする場所)の違いを除けば、実際には何も思いつきませんでした。これはLinux上だけです。