LINUX.ORG.RU

История изменений

Исправление shdown, (текущая версия) :

fn lor_jjhash(src: &[u8]) -> u32 {

jjhash_s — это функция для сишных строк, а не для pointer-and-length.

Там нам нужно проверять, что байт — не ноль, потому что, если он ноль, то мы можем упасть, прочитав следующий байт.

Для pointer-and-length предназначена jjhash_b.

jjhash_b обгоняет jjhash_s в 2+ два раза.

Попробуйте обогнать хоть какую-то из них (с той же семантикой) на расте. Там bottleneck в умножении.

Исправление shdown, :

fn lor_jjhash(src: &[u8]) -> u32 {

jjhash_s — это функция для сишных строк, а не для pointer-and-length.

Там нам нужно проверять, что байт — не ноль, потому что, если он ноль, то мы можем упасть, прочитав следующий байт.

Для pointer-and-length предназначена jjhash_b.

jjhash_b обгоняет jjhash_s в 2+ два раза.

Попробуйте обогнать хоть какую-то из них на расте. Там bottleneck в умножении.

Исправление shdown, :

fn lor_jjhash(src: &[u8]) -> u32 {

jjhash_s — это функция для сишных строк, а не для pointer-and-length.

Там нам нужно проверять, что байт — не ноль, потому что, если он ноль, то мы можем упасть, прочитав следующий байт.

Для pointer-and-length предназначена jjhash_b.

jjhash_b обгоняет jjhash_s в 2+ два раза.

Попробуйте обогнать хоть какую-то из них на расте.

Исправление shdown, :

fn lor_jjhash(src: &[u8]) -> u32 {

jjhash_s — это функция для сишных строк, а не для pointer-and-length.

Там нам нужно проверять, что байт — не ноль, потому что, если он ноль, то мы можем упасть, прочитав следующий байт.

Для pointer-and-length предназначена jjhash_b.

jjhash_b обгоняет jjhash_s в 2+ два раза.

Исправление shdown, :

fn lor_jjhash(src: &[u8]) -> u32 {

jjhash_s — это функция для сишных строк, а не для pointer-and-length.

Там нам нужно проверять, что байт — не ноль, потому что, если он ноль, то мы можем упасть, прочитав следующий байт.

Для pointer-and-length предназначена jjhash_b.

jjhash_b обгоняет jjhash_s в два раза.

Исходная версия shdown, :

fn lor_jjhash(src: &[u8]) -> u32 {

jjhash_s — это функция для сишных строк, а не для pointer-and-length.

Для pointer-and-length предназначена jjhash_b.

jjhash_b обгоняет jjhash_s в два раза.