So this recipe works by making an emulsion so that the fat doesn't clog up the proteins of the seitan too badly and the seitan can still develop properly. The emulsion is made by copying a mayonnaise and mustard recipe, throwing out all the bits that make it taste like mayonnaise/mustard and keeping the bits that make it emulsify. Right now I'm still using egg as the emulsifier for the "mayonnaise", but I've seen recipes online that use silken tofu or even lecithin (the emulsifying agent in soy) extract directly to make their mayonnaise emulsify so I want to try that in the future
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#![feature(allocator_api)] | |
mod cursed_lazy { | |
use std::{ | |
alloc::{Allocator, Layout, AllocError}, | |
ptr::NonNull, | |
}; | |
pub struct LazyAlloc; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use std::{ | |
any, mem, panic, | |
sync::atomic::{AtomicUsize, Ordering}, | |
thread, | |
}; | |
#[derive(PartialEq)] | |
enum Progress { | |
Continue, | |
Stop, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
60ml soy sauce | |
60ml veggie stock (or stock of choice), I used a mixture of stock and vegetarian gravy because the latter has nutritional yeast in it | |
40ml rich wine (e.g. shaoxing) | |
20ml chinese dark vinegar | |
250g weizengluten | |
100g shop-bought hummus, I think the artificial emulsifier is an important ingredient because homemade doesn’t work | |
~1tsp Liquid smoke | |
~1/2tsp Tabasco, or more to taste | |
~2tsp Black pepper | |
1tbsp molasses |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
??g mustard powder | |
??ml rich, not too acidic wine or flat beer (e.g. shaoxing wine) | |
??ml vinegar (e.g. chinese dark vinegar) | |
??g molasses | |
?? eggs | |
??g hard fat (e.g. vegetable shortening) | |
Salt, spices and other dry flavourings(depending on desired result) | |
??g wheat gluten | |
??g other flour? (e.g. chickpea) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/sh | |
(cd $(dirname $0) && cargo run --release --features lightbeam -- --env 'RUST_BACKTRACE=1' --lightbeam "$@") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name cranelift.bench ns/iter lightbeam.bench ns/iter diff ns/iter diff % speedup | |
+ misc::br_cannot_share_cc::compile 165,109 109,143 (1 MB/s) -55,966 -33.90% x 1.51 | |
+ misc::br_cannot_share_cc::run 1,421 1,318 -103 -7.25% x 1.08 | |
+ misc::call_indirect::compile 2,369,666 1,037,499 (1 MB/s) -1,332,167 -56.22% x 2.28 | |
+ misc::call_indirect::run 7,676 7,513 -163 -2.12% x 1.02 | |
+ misc::control_flow::compile 1,120,041 854,382 -265,659 -23.72% x 1.31 | |
+ misc::control_flow::run 5,848 5,472 -376 -6.43% x 1.07 | |
+ misc::div_rem::compile 593,102 402,117 -190,985 -32.20% x 1.47 | |
+ misc::div_rem::run |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use alloc::alloc; | |
use core::{ | |
alloc::Layout, | |
convert::{TryFrom, TryInto}, | |
fmt, | |
mem::{self, ManuallyDrop}, | |
num::NonZeroU32, | |
ops::{self, Drop}, | |
ptr, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pub fn sieve(limit: usize) -> Option<impl Iterator<Item = usize>> { | |
let mk_func = |cmpsts: Vec<_>| { | |
move |i| { | |
if i < 0 { | |
Some(2) | |
} else { | |
if cmpsts.get(i as usize >> 5)? & (1u32 << (i & 31)) == 0 { | |
Some((i + i + 3) as usize) | |
} else { | |
None |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use std::{ | |
borrow::{Borrow, ToOwned}, | |
marker::PhantomData, | |
ops::{Deref, Drop}, | |
ptr::{self, NonNull}, | |
}; | |
pub unsafe trait Cursed<T: ?Sized>: Borrow<T> + Sized { | |
fn borrowed(borowed: &T) -> Option<NonNull<T>>; | |
fn owned(self) -> Option<NonNull<T>>; |
NewerOlder