HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
memsql
bench
Python2012–2012
memsql / bench · Archived

bench

MemSQL Benchmark Tools

2Distinct people
4Mentions
0Explicit recommenders
23GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

MemSQL Benchmark Tools

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by hour4 dated mentions

Observed mentions: 2012-06-27 22:49:35 UTC to 2012-06-28 00:37:30 UTC.

0122012-06-27 22:00:00 UTC to 2012-06-27 23:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJun 27, 22:002012-06-27 23:00:00 UTC to 2012-06-28 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJun 27, 23:002012-06-28 00:00:00 UTC to 2012-06-28 01:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 commentsJun 28, 00:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jun 27, 22:002012-06-27 22:00:00 UTC2012-06-27 23:00:00 UTC101
Jun 27, 23:002012-06-27 23:00:00 UTC2012-06-28 00:00:00 UTC101
Jun 28, 00:002012-06-28 00:00:00 UTC2012-06-28 01:00:00 UTC202

What Hacker News says

4 sources
@Dhruv - The significant increase in number of rows is because of throughput. The experiment was run for the same length for all three databases, but MemSQL sustained a higher throughput, resulting in more data inserted. Refer to the simulation code (https://github.com/memsql/bench/blob/master/benchmark.py) to see exactly what is going on. - We actually print information about row overhead to stderr/memsql_tracelog. The best way to find out is to run this experiment yourself :-) - Data gets inlined for smaller types.
In Reading Between the Benchmarks: How MemSQL Designs for Speed and Durability
> It seems as if it's designed for situations where you're doing a lot of table scans. This is not quite true. Lockfree data structure work exceptionally well for a lot of small concurrent reads and writes. If you look at the benchmarking code: https://github.com/memsql/bench/blob/master/sql_database.py you will notice that there are a lot of queries like "fetch by pk/guid". The trade-offs are: taking a hit the first time you run the query, being limited to the amount of RAM, limited set of features for this release. The benefits are throughput for "fetch by pk/guid" transactions and predictably low latencies.
In Reading Between the Benchmarks: How MemSQL Designs for Speed and Durability
Hey Dhruv, In the case of the 24 core machine... The database is initialised with 560000 players. For every action an event is written to the database, so at the end of the 10 minute run there are ~aps * 600 = 1.2 million rows for MySQL and 40 million rows for MemSQL. Then there's the active games: MySQL ends with a million active games, and MemSQL ends with the steady of 5.6 million games. The total number of rows at the end is around 2.8 million for MySQL and around 48 million for MemSQL. MySQL VSZ ends and peaks at 6 gB, RSS ends and peaks at 2GB. For MemSQL, the RSS and VSZ end and peak at 18 gB and 19 gB, respectively. MySQL keeps each of the 24 cores at 25% utilization. MemSQL runs with all cores at 100%. On the 8 core machine, MySQL keeps each core 80% utilized. The number of inserts and queries can be easier explained when looking
Read the rest
at https://github.com/memsql/bench/blob/master/sql_database.py, starting at get_games and ending at log. Every action is composed of one call to get_games, one call to either start_game, make_move or win_game and one call to log. On average, each action has two selects and between two and three writes (with one update). Because client code is shared between MemSQL and MySQL, we could not use multistatement transactions, and every statement was executed in its own transaction. All of the code for the benchmark can be found at github.com/memsql/bench.
In Reading Between the Benchmarks: How MemSQL Designs for Speed and Durability

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.