Обновить
2
0
Maxim@aiscy

Оператор ЭВМ

Отправить сообщение

С одной стороны, хочется с вами согласиться. С другой стороны, на скриншоте выше, на седьмой позиции, стоит axum, который и h2 поддерживает, и в проде встречается. Чтобы далеко не ходить: https://github.com/rust-lang/crates.io

save_image как-то переусложненно выглядит. Можно просто:
fn save_image(image: &str, path: &str) -> anyhow::Result<()> {
let bytes = STANDARD.decode(image)?;
File::create(path)?.write_all(&bytes)?;
Ok(())
}

Получаете деньги за каждый принятый этап — от 30 000 до 350 000 ₽ в зависимости от сложности.

Там немного иная система оплаты, может и больше выйдет за весь проект. Интереснее, как планируется это дальше поддерживать.

Если позволите.

Вам может показаться, что так и есть, (сложносочинённое предложение) но это полный перевод с построчной сверкой с оригиналом. Естественно, (вводное слово) нейросети помогают ускорить процесс перевода, который просто вручную занимает в 5 раз дольше.

Я это говорю вам как лингвист, (причастный оборот) изучавший 5 иностранных языков и (соединены союзом) сейчас изучающий 6-й (смешанный способ оформления числительных) язык.

Видимо, (вводное слово) не изучал, (обособление придаточного изъяснительного) так как не понимаю, на какую проблему с пунктуацией вы намекаете.

Rust edition (2015, 2018, 2021 — сейчас это важно, особенно для async/await),

Rust edition (2015, 2018, 2021, 2024 — сейчас это важно, особенно для async || {}),

И стоило, кмк, упомянуть

[[example]] name = "foo"

.
├── Cargo.lock
├── Cargo.toml
├── src/
│ └── lib.rs

└── examples/
└── foo.rs

Очень удобно, что линкуются сразу с [dependencies] и [dev-dependencies].

Конечно. Благодарю!

Увидел srp6 и сразу вспомнился wow :). Давно хотел написать минимально рабочий сервер для него, может заодно с ecs побаловаться. Если не затруднит, не могли бы вы посоветовать полезные ресурсы?

С помощью `asm!("syscall", ...);` :)

Но вообще есть https://github.com/bytecodealliance/rustix, правда не довелось воспользоваться. И вот тут https://github.com/bytecodealliance/rustix?tab=readme-ov-file#similar-crates еще перечислены схожие.

Еще забавнее становится, если открыть ченджлог:

## 0.50.0

- Remove deprecated features: `tcp-tokio`, `mdns-tokio`, `dns-tokio`, `tcp-async-io`, `mdns-async-io`, `dns-async-std`. See [PR 3001].

Ну и подключали tokio, а получился async_std %)

Вы же понимаете, что компилятор просто оптимизирует вызов функции и вы замеряете погрешность измерения времени в максимально неподходящем для бенчмарков месте?

Тестируйте хотя бы как-нибудь так, коли вам так понравилось :)

#include <math.h>
#include <stdio.h>
#include <time.h>

const float square(const float num) {
    return sqrt(num);
}

int main() {
    struct timespec start, end;
    volatile float result;
    clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &start);
    for (int i = 0; i < 1000000000; i++) {
        result = square(4.0);
    };
    clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &end);
    double elapsed_secs = (double)(end.tv_sec - start.tv_sec) + (double)(end.tv_nsec - start.tv_nsec) / 1e9;
    printf("Elapsed CPU time: %.9f seconds\n", elapsed_secs);
    return 0;
}
use libc::{clock_gettime, timespec, CLOCK_PROCESS_CPUTIME_ID};
use std::hint::black_box;

fn get_time() -> timespec {
    let mut ts = unsafe { std::mem::zeroed::<timespec>() };
    if unsafe { clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &mut ts) } == -1 {
        panic!("Failed to get time");
    }
    ts
}

pub fn main() {
    let start = get_time();
    for _ in 0..1_000_000_000 {
        black_box(4.0f32.sqrt());
    }
    let end = get_time();
    let elapsed_secs = (end.tv_sec - start.tv_sec) as f64 + (end.tv_nsec - start.tv_nsec) as f64 / 1e9;
    println!("Elapsed CPU time: {} seconds", elapsed_secs);
}

Вот же метод: https://doc.rust-lang.org/std/primitive.f32.html#method.sqrt
Хоть через

f32::sqrt(1f32);

вызывайте, хоть через

1f32.sqrt();

Вот да. Не каждый день не в ФП языке можно пощупать either type, например.

в то время когда если на стороне раста подгонять скорость он просто станет почти равен и почти идентичен вызовам С

Я не вижу тут особой разницы. И, если честно, не понимаю, какие вообще можно сделать выводы по этому сравнению.

Извините, не совсем понял, что вы хотели продемонстрировать. Отмечу только, что с -C opt-level=1 и выше жить становится веселее.

Буквально для этого и введены editions. Как раз через пару месяцев выходит новая. Интересно, как в долгосроке себя покажет.

Может быть не совсем верно привязываться к профилю. Все же никто не помешает нам сделать

[profile.release]
overflow-checks = true

Да, судя по картам. Там еще офисная неплохая была. Правда тогда, вроде бы, назывался First VR.

Идея интересная, но очень расстроила рассинхронизация позиции энтити игрока в игре и реальном мире. Играть из-за этого становится больно, в буквальном смысле. Еще один раз я, вместо вхождения в зону респауна вошел в стену, тоже интересный опыт. Может быть что-то из этого поправили за полгода, но, честно говоря, проверять не особо хочется.

Сразу нахлынули воспоминания о "Сайт оптимизирован для экранного разрешения 800х600".

1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность