我正在运行测试来检查磁盘读取统计信息。这是相同的代码:
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
int main(int argc, char* argv)
{
int count=1000, size;
char block[4096]="0";
int fd = open("file1.txt",O_RDONLY | O_SYNC);
//int pid = getpid();
system("pid=$(ps -a | grep 'a.out' | awk '{print $1}'); iotop -bokp $pid > test1c.out &");
system("echo 'Starts reading in 10'");
srand(time(NULL));
system("sleep 1");
while(count--){
int random = (rand()%16)*666;
printf("%d;",random);
lseek(fd, random, SEEK_SET);
size = read(fd,block,4096);
printf("Number of bytes read: %d\n", size);
fsync(fd);
//printf("Read 4kb from the file.\n");
}
system("sleep 1");
system("killall iotop"); …
Run Code Online (Sandbox Code Playgroud) 这是分别在 Rust 和 Node.js 中生成素数的两个基本代码片段。我正在生成 100000 个素数。
锈
use std::time::Instant;
fn main(){
let start = Instant::now();
generate_primes(100000);
let elapsed = start.elapsed();
// println!("{:?}", generate_primes(10));
println!("Time taken: {}ms", elapsed.as_millis());
}
pub fn generate_primes(n: i32) -> Vec<i32> {
let mut numbers:Vec<i32> = vec![0; 0];
let mut iter:i32 = 2;
let mut generated:i32 = 0;
while generated < n {
if is_prime(iter) {
numbers.push(iter);
generated += 1;
}
iter += 1;
}
numbers
}
fn is_prime(n: i32) -> bool {
let limit = …
Run Code Online (Sandbox Code Playgroud)