Some Assembly Required
Categories
All (30)
AVX (2)
ELF (2)
MSR (7)
SPNEGO (1)
SSE (3)
assembly (14)
bitwise (1)
gssapi (1)
io_uring (2)
java (2)
javascript (1)
kdb (14)
kdb-IPC (5)
kerberos (1)
performance (6)
serialization (3)
tickerplant (4)
x86 (7)
x86_64 (16)

*not the IKEA sort. Which is entirely unlike a bubble sort.

 

Magic Buffers and io_uring Registered Buffers

kdb
kdb-IPC
io_uring
There’s a really cool little mmap gadget that maps the same underlying memory region into two contiguous virtual memory address ranges. When you write past the end of the…
Oct 17, 2025

 

Shared Memory Tickerplant Log Files

kdb
serialization
tickerplant
kdb-IPC
I posted recently about making kdb+ go faster. I forgot to mention shunning TCP and using shared memory as the transport layer.
Oct 7, 2025

 

Kerberos Authentication For kdb+

kdb
kerberos
gssapi
SPNEGO
Wherever I’ve worked on kdb+ installations the approach to authentication has been that there is no authentication. Generally, everyone’s just relied on the fact that you’d…
Oct 2, 2025

 

How to beat kdb+

kdb
serialization
tickerplant
I’ve recently been pondering how to improve the performance of kdb+. For what it’s worth, I think it’s going to be really hard to beat kdb+ at its “A game”, which is…
Sep 3, 2025

 

A new Javascript IPC library for KDB

kdb
kdb-IPC
javascript
serialization
So … at “$Work” I’ve been doing quite a bit with our Dashboard product that is being used more and more to report on different aspects of the desk’s trading activities and…
Oct 13, 2024

 

Filtering Tickerplant Log Files During Replay

kdb
kdb-IPC
tickerplant
I’ve written a new C library, which you can find in my Github KDB repository which does the same kind of thing as -11!, but allows you to provide a set of table names that…
Aug 24, 2024

 

Rewriting Tickerplant Logs On-The-Fly

kdb
tickerplant
io_uring
We have an application at work that upon restarting intraday needs to replay the market-data tickerplant log file and subscribe to the live data feed. This, of course, takes…
Jul 20, 2024

 

Streaming KDB IPC Data

kdb
kdb-IPC
It used to be the case that we rewrote c.java to be more efficient. I haven’t downloaded it for ages, and have a feeling that it now uses primitive arrays under the covers…
Jun 9, 2024

 

Another vectorised bitwise-OR function for kdb+, AVX style

kdb
AVX
SSE
MSR
In my last post on a vectorised bitwise-OR function for kdb+, I wondered towards the end what the next interesting step would be — should it be the production of an…
Dec 12, 2012

 

A vectorised bitwise-OR function for kdb+

kdb
x86_64
SSE
bitwise
assembly
A long time ago I started writing some shared-library functions for kdb+ which would offer bitwise comparison of integer vector types using SSE vector registers. I came up…
Nov 21, 2012

 

Intel Performance Monitoring: Loose Ends

kdb
MSR
performance
This post is part of the series on performance monitoring with Intel MSRs on Linux:
Nov 19, 2012

 

Scripting MSR Performance Tests With kdb+: Part 2

kdb
MSR
performance
This post continues the series on performance monitoring with Intel MSRs on Linux using the batch-oriented kernel module to read and write values from and to the MSRs. The…
Nov 14, 2012

Scripting MSR Performance Tests with kdb+

kdb
MSR
performance
This post is part of the series on performance monitoring with Intel MSRs on Linux:
Nov 13, 2012

Fun With MSRs: Counting Performance Events On Intel

x86_64
MSR
performance
This post is part of the series on performance monitoring with Intel MSRs on Linux:
Nov 11, 2012

Intel MSR Performance Monitoring Basics

x86_64
MSR
performance
This post is part of the series on performance monitoring with Intel MSRs on Linux:
Nov 9, 2012

 

A Linux Kernel Module For Reading/Writing MSRs

kdb
x86_64
MSR
performance
This post is part of the series on performance monitoring with Intel MSRs on Linux:
Nov 9, 2012

Interpreting readelf -r, in this case R_X86_64_PC32

x86_64
ELF
assembly
Having just put the monster Relocations, Relocations blog-post to bed, at one point I caught myself trying to compute a relocation from the information given by readelf -r.…
Jun 30, 2012

Relocations, Relocations

x86_64
ELF
assembly
The man entry for elf contains the following:
Jun 24, 2012

 

The Trouble With FSUB

assembly
It’s not often you get a really nasty surprise when writing software, and even less often that the nasty surprise is lurking in the compiler (or assembler). It turns out…
Mar 9, 2012

 

A Caesar Cypher? Using SIMD? Why?

x86_64
assembly
SSE
There’s no easy answer to that. I had applied to join a group on some social networking site which was for assembly language programmers, and to check that I hadn’t got them…
Mar 1, 2012

 

AVX matrix-multiplication, or something like it

x86_64
AVX
assembly
It’s been a while since the last post, and I can confidently say that I understand one or two percent of the new (well, new to me) world of AVX instructions. There was the…
Feb 17, 2012

 

Stack Alignment

x86_64
assembly
The System V ABI “AMD64 Architecture Processor Supplement” stipulates that the stack should be aligned to a 16-byte boundary before calling a function. It provides the…
Feb 16, 2012

Bounded ranges, constrained or clamped values

assembly
x86_64
x86
So, given the ability to build a jump table for a range of inputs, it would be useful to transform a given input value onto one of the valid options for that table. If you…
Jan 17, 2012

 

Switch Blocks & Jump Tables

assembly
x86_64
x86
I didn’t know how jump tables were assembled prior to starting this investigation, and as anyone interested in assembly code will testify, using Google doesn’t really help…
Jan 17, 2012

 

Compare And Swap

assembly
x86_64
x86
Atomic instructions are used by the OS to provide higher-level concurrency constructs such as locks and semaphores. Probably the best known is the cmpxchg instruction, which…
Jan 17, 2012

 

The initial stack, reading process arguments (and environment variables)

assembly
x86_64
x86
I wrote a 32-bit assembly application a while ago which performed the simple task of printing out the program arguments and then the environment variables. Most people have…
Jan 17, 2012

 

Syntax Highlighting for Assembly Code

This is now completely irrelevant as I’m now running this website using Quarto, which is completely brilliant. I thought I’d leave this in the catalogue as it was my first…
Jan 17, 2012

 

Calling Java from assembler

assembly
x86_64
x86
java
Hi there,
Jan 17, 2012

 

Calling ASM functions from Java

assembly
x86_64
x86
java
If you’ve been inquisitive enough to read the “About” pages1 you’ll see that my day job involves writing software in Java. To that end, I’ve put together some code which…
Jan 16, 2012

 

Hello, World!

assembly
x86_64
x86
Well, here it is, the ubiquitous “Hello, World!” example.
Jan 16, 2012
No matching items