#tetcoin #framework #blockchain #crypto

no-std tp-tasks

运行时异步,纯计算任务

显示此包…

2 个稳定版本

2.0.1 2021年4月3日
2.0.0 2021年4月2日

#40#tetcore

Download history 76/week @ 2024-03-15 101/week @ 2024-03-22 156/week @ 2024-03-29 54/week @ 2024-04-05 71/week @ 2024-04-12 74/week @ 2024-04-19 79/week @ 2024-04-26 74/week @ 2024-05-03 83/week @ 2024-05-10 79/week @ 2024-05-17 74/week @ 2024-05-24 61/week @ 2024-05-31 49/week @ 2024-06-07 72/week @ 2024-06-14 75/week @ 2024-06-21 38/week @ 2024-06-28

237 每月下载次数
54 包中使用(直接使用2个)

Apache-2.0

385KB
7K SLoC

运行时异步,纯计算任务。

许可证:Apache-2.0


lib.rs:

运行时任务。

包含用于生成并行纯计算任务的运行时可用函数。

注意:这是实验性API。注意:在实际运行时,请确保您不会产生无界的并行性。所以这不是使用它的好例子

   fn my_parallel_computator(data: Vec<u8>) -> Vec<u8> {
       unimplemented!()
   }
   fn test(dynamic_variable: i32) {
       for _ in 0..dynamic_variable { tp_tasks::spawn(my_parallel_computator, vec![]); }
   }

虽然这是一个好例子

   use codec::Encode;
   static STATIC_VARIABLE: i32 = 4;

   fn my_parallel_computator(data: Vec<u8>) -> Vec<u8> {
       unimplemented!()
   }

   fn test(computation_payload: Vec<u8>) {
       let parallel_tasks = (0..STATIC_VARIABLE).map(|idx|
           tp_tasks::spawn(my_parallel_computator, computation_payload.chunks(10).nth(idx as _).encode())
       );
   }

当允许无界的并行性时,恶意交易可以利用它,并基于节点拥有的资源量对网络共识进行分区。

依赖项

~3–11MB
~123K SLoC