Skip to content

Instantly share code, notes, and snippets.

View gs0510's full-sized avatar
🍉

Gargi Sharma gs0510

🍉
View GitHub Profile
+--------+------------------------+------+------+-----+-------+----------+
| | filename | text | data | bss | dec | hex |
+--------+------------------------+------+------+-----+-------+----------+
| | | | | | | |
| BEFORE | kernel/pid.o | 8447 | 3894 | 64 | 12405 | 3075 |
| AFTER | | 7667 | 2018 | 64 | 9749 | 2615 |
| BEFORE | kernel/pid_namespace.o | 5692 | 1842 | 192 | 7726 | 1e2e |
| AFTER | | 5682 | 1842 | 192 | 7716 | 1.00E+24 |
+--------+------------------------+------+------+-----+-------+----------+
+--------+------------------------+------+------+-----+-------+----------+
| | filename | text | data | bss | dec | hex |
+--------+------------------------+------+------+-----+-------+----------+
| | | | | | | |
| BEFORE | kernel/pid.o | 8447 | 3894 | 64 | 12405 | 3075 |
| AFTER | | 3397 | 304 | 0 | 3701 | e75 |
| BEFORE | kernel/pid_namespace.o | 5692 | 1842 | 192 | 7726 | 1e2e |
| AFTER | | 2854 | 216 | 16 | 3086 | c0e |
+--------+------------------------+------+------+-----+-------+----------+
@gs0510
gs0510 / README.md
Created December 17, 2018 08:50
Database server that stores {key, value} in memory.

Database server, to compile and run, run ./run.sh

cache.go has the cache store. server.go creates the server and serves request. main.go is the driver file.

//Hashmap to store the count call, can compare to strace for numbers!
let mut map = HashMap::new();
//allow the child to be traced
let output = cmd.before_exec(traceme);
let mut child = cmd.spawn().expect("child process failed");
let pid = nix::unistd::Pid::from_raw(child.id() as libc::pid_t);
@gs0510
gs0510 / flamegraph-perf-10million.svg
Last active October 9, 2019 15:35
irmin index flamegraphs for perf on replace, find ro and find rw benchmarks.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@gs0510
gs0510 / statmemprof.png
Last active October 3, 2019 15:21
Statmemprof for irmin/index benchmarks
statmemprof.png
@gs0510
gs0510 / perf-flamegraph-top-level-buffer.svg
Last active October 10, 2019 14:05
Perf for top level buffer.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@gs0510
gs0510 / notes.md
Last active November 12, 2019 11:13
Benchmarking index

How does sandmark work and the context behind the decisions:

  • codespeed - looked at how the folks python, Rust and LLVM were visualizing benchmarks, and there wasn’t a straightforward way to use the Rust benchmarks visualizer (also it wasn’t very stable at the time) or the LLVM benchmarks visualizer. Codespeed was being used by a couple of projects, Python’s pypy for example and seemed like a good choice.
    • Within codespeed, there’s also an artifacts directory where you can push data (for example the perf data!). There's also sandmark-analyze where the data from artifacts is put into a jupyter notebook if someone wants to graph it differently.
    • ocamlspeed is a fork because there were bugs in codespeed and getting the patches upstream takes time.
  • sandmark is not relevant to our use case since even though it does provide the infrastructure, it moves the compiler and not the code. So you specify the opam package you want to run the compiler benchmarks for, and sandmark builds those package
@gs0510
gs0510 / index bench
Last active January 13, 2020 14:11
Benchmarks from the autumn machine
Fill in random order
index: 5.788160 micros/op; 172766.472026 op/s; 7.774491 MB/s; total time = 57.881601s.
write amplification in bytes = 10.454486; in nb of writes = 0.000639;
RW Read in random order
index: 5.057182 micros/op; 197738.594206 op/s; 8.898237 MB/s; total time = 50.571817s.
read amplification in bytes = 70.304486; in nb of reads = 1.016557
RO Read in random order
index: 8.763912 micros/op; 114104.301487 op/s; 5.134694 MB/s; total time = 87.639115s.
Fill in random order
index: 5.607651 micros/op; 178327.778691 op/s; 8.024750 MB/s; total time = 56.076513s.
write amplification in bytes = 10.454486; in nb of writes = 0.000639;
RW Read in random order
index: 4.744557 micros/op; 210767.815771 op/s; 9.484552 MB/s; total time = 47.445574s.
read amplification in bytes = 70.292040; in nb of reads = 1.016339
RO Read in random order