Векторизация пользовательского числового типа в c # - PullRequest
1 голос
/ 07 ноября 2019

Мне интересно, можно ли оптимизировать деление 2 массивов пользовательских числовых типов.

У меня есть 2 массива Int24, которые мне нужно быстро разделить.

Должен ли яприведите их к Int32 и используйте Vector<Int32>, или упакуйте их, чтобы я мог передать больше данных в регистры, или я могу использовать какой-то инстинкт SIMD напрямую (PPE, SPEs)?

    [Serializable]
    [StructLayout(LayoutKind.Explicit, Size = 3)]
    [DebuggerDisplay("{Value}")]
    public readonly partial struct Int24
        : IComparable, IFormattable, IConvertible, IComparable<Int24>, IComparable<int>, IEquatable<Int24>, IEquatable<int>
    {
        [FieldOffset(0)]
        private readonly byte _byte1;

        [FieldOffset(1)]
        private readonly byte _byte2;

        [FieldOffset(2)]
        private readonly byte _byte3;
...