小编Sam*_*ase的帖子

JSONKit基准测试

我从http://www.bonto.ch/blog/2011/12/08/json-libraries-for-ios-comparison-updated/中提取了代码, 并在我的本地计算机上进行了测试.

我对结果感到惊讶,NSJSonSerialization提供了比JSONKit更好的性能.

NSJSonSerialization在速度方面是否真的超过了JSONKit,还是我做错了什么?

twitter_timeline_json.png

twitter_timeline.json

repeat_json.png

repeat.json

random_json.png

random.json

ios jsonkit

15
推荐指数
1
解决办法
6932
查看次数

如何在 Rust 中关闭 Unix 套接字?

我有一个测试可以打开并侦听 Unix 域套接字。套接字打开并读取数据没有问题,但它不会正常关闭。

这是我第二次尝试运行测试时遇到的错误:

线程'test_1'在'调用Result::unwrap()一个Err 值时恐慌:错误{repr:Os{代码:48,消息:“地址已在使用中”}}',../src/libcore/result.rs:799注意:运行RUST_BACKTRACE=1 用于回溯。

该代码可在 Rust 游乐场获得,并且有一个Github Gist

use std::io::prelude::*;
use std::thread;
use std::net::Shutdown;
use std::os::unix::net::{UnixStream, UnixListener};
Run Code Online (Sandbox Code Playgroud)

测试用例:

#[test]
fn test_1() {
    driver();
    assert_eq!("1", "2");
}
Run Code Online (Sandbox Code Playgroud)

主入口点函数

fn driver() {
    let listener = UnixListener::bind("/tmp/my_socket.sock").unwrap();

    thread::spawn(|| socket_server(listener));

    // send a message 
    busy_work(3);

    // try to disconnect the socket
    let drop_stream = UnixStream::connect("/tmp/my_socket.sock").unwrap();
    let _ = drop_stream.shutdown(Shutdown::Both);
}
Run Code Online (Sandbox Code Playgroud)

间隔发送数据的功能

#[allow(unused_variables)]
fn busy_work(threads: i32) {
    // Make a vector to hold the …
Run Code Online (Sandbox Code Playgroud)

unix sockets rust

4
推荐指数
1
解决办法
2983
查看次数

标签 统计

ios ×1

jsonkit ×1

rust ×1

sockets ×1

unix ×1