Skip to content

Instantly share code, notes, and snippets.

Avatar

Yosh yoshuawuyts

View GitHub Profile
View concurrency-vs-parallelism.md

Concurrency vs Parallelism, in table form

Concurrency is a system-structuring mechanism, parallelism is a resource. (ref)

There's an important distinction between "parallelism" as a resource, and "parallel execution". The two are often confused, but they are in fact distinct. The key separator is "concurrency":

no parallelism has parallelism
no concurrency sequential execution sequential execution †
has concurrency concurrent execution ‡ parallel execution
View link-directive-parser.rs
View headers.rs
use crate::headers::{HeaderName, HeaderValue, Headers, ToHeaderValues};
struct CustomHeader {}
impl CustomHeader {
/// Create a new instance of `CustomHeader`.
fn new() -> Self {
todo!();
}
View windows.log
PS C:\Users\yoshu\Code\rust> py ./x.py build
Updating only changed submodules
Submodules updated in 0.26 seconds
Blocking waiting for file lock on package cache
Blocking waiting for file lock on package cache
Finished dev [unoptimized + debuginfo] target(s) in 2.21s
Building stage0 std artifacts (x86_64-pc-windows-msvc -> x86_64-pc-windows-msvc)
Finished release [optimized] target(s) in 0.62s
Copying stage0 std from stage0 (x86_64-pc-windows-msvc -> x86_64-pc-windows-msvc / x86_64-pc-windows-msvc)
Building LLVM for x86_64-pc-windows-msvc
@yoshuawuyts
yoshuawuyts / tracing_log.rs
Created June 29, 2020 19:11 — forked from KodrAus/tracing_log.rs
Converting between `tracing` key values and `log` key values
View tracing_log.rs
use std::fmt;
use log::kv::{self, Source, value::{self, Fill}};
use tracing::{Value, Field, field::{self, Visit}};
#[doc(hidden)]
pub struct LogField<'kvs>(&'kvs Field, &'kvs dyn Value);
impl fmt::Debug for LogField<'_> {
View undici-uds.js
const { Client } = require('undici')
const client = new Client(`unix:///tmp/hello.sock`)
client.request({
path: '/',
method: 'GET'
}, function (err, data) {
if (err) throw err
const {
View windows.md

Pre-requisites

Should have a functioning Rust install already through rustup. This means the Visual Studio 2019 build tools also need to be installed.

Install deps

With winget installed do:

$ winget install python
View tide-compression-middleware.rs
pub use accept_encoding::Encoding;
use async_compression::stream;
use futures::future::BoxFuture;
use http::{header::CONTENT_ENCODING, status::StatusCode, HeaderMap};
use http_service::Body;
use crate::{
middleware::{Middleware, Next},
response::IntoResponse,
@yoshuawuyts
yoshuawuyts / playground.rs
Created September 16, 2019 02:59 — forked from rust-play/playground.rs
Code shared from the Rust Playground
View playground.rs
#[derive(Debug, PartialEq)]
enum State {
Waiting { waiting_time: usize },
Filling { rate: usize },
Done,
Failure(String),
}
#[derive(Debug, Clone, Copy)]
enum Event {
@yoshuawuyts
yoshuawuyts / playground.rs
Created September 2, 2019 18:42 — forked from rust-play/playground.rs
Code shared from the Rust Playground
View playground.rs
macro_rules! fmt_args {
($($tt:tt)*) => {
_fmt_args_!("",; $($tt)*)
};
}
macro_rules! _fmt_args_ {
($fmt:expr, $($args:expr,)*; ) => {
format_args!($fmt $(,$args)*)
};