Jon Gjengset

Results 171 issues of Jon Gjengset

When given a trace with a single event, like the one below, `stackcollapse-perf.pl` gives no output ``` boa_cli;[unknown];boa_cli::main;boa::realm::Realm::create;boa::realm::Realm::create_instrinsics;boa::builtins::console::create_constructor;boa::builtins::value::ValueData::set_field_slice;boa::builtins::value::ValueData::set_field;boa::builtins::object::internal_methods_trait::ObjectInternalMethods::set;::define_own_property;boa::builtins::value::to_value;::to_value;gc::Gc::new;gc::gc::GcBox::new;std::thread::local::LocalKey::with;std::thread::local::LocalKey::try_with;gc::gc::GcBox::new::_{{closure}};gc::gc::collect_garbage;gc::gc::collect_garbage::mark;gc::gc::GcBox::trace_inner;::trace;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;gc::gc::GcBox::trace_inner;::trace;::trace::mark;::trace;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;gc::gc::GcBox::trace_inner;::trace;::trace::mark;::trace;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;gc::gc::GcBox::trace_inner;::trace;::trace::mark;::trace;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;gc::gc::GcBox::trace_inner;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace;::trace::mark;::trace 1 ``` We had the same bug in inferno, and the fix...

#186 introduced `stackcollapse-bpftrace`, but since then, it appears the output of `bpftrace` has changed slightly. Specifically, a trace command like ```console # bpftrace -e 'profile:hz:999 /pid == 2141/ { @[ustack]...

It's currently pretty painful to remove items matching a given condition from an array or table with `toml_edit` due to the lack of a `retain`-like method. You need one "pass"...

C-enhancement

As discussed in #5, the idiomatic way to do polling I/O in rust is probably to use [mio](https://github.com/carllerche/mio). It would be an interesting data point to include.

help wanted
server-rust
new-server

All current servers call `accept` from only a single thread, meaning benchmarks with a larger number of clients (#14) see a very high setup cost. While this does not affect...

enhancement
help wanted
server-rust
server-go
server-c-threaded

The Go server is seeing relatively poor performance scaling compared to the Rust and C servers. Before reporting this as an upstream bug, we should investing how the Go server...

question
server-go

With `SO_REUSEPORT`, many processes can listen on the same port at the same time. Running several instances of the Go server might reduce the overhead of Go's `epollwait` as @jbardin...

enhancement
help wanted
question
server-go

It would be interesting to show the performance difference between servers using `epoll`/`select` and servers doing blocking operations, in particular because the Go server is (currently) limited to only doing...

enhancement
help wanted
meta

Over the past couple of days, I've written up a library for [emulating a MySQL server](https://github.com/jonhoo/msql-srv). It essentially implements the "other side" of the MySQL network protocol, and delegates handling...

In memcached you can pipeline sending multiple operations to use the network more efficiently. We already have [`Client::gets`](https://docs.rs/memcache/0.12.0/memcache/struct.Client.html#method.gets), but `set`, `delete`, and `increment` can also be pipelined this way. For...

enhancement
question