Some Assembly Required

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

 

A new Javascript IPC library for KDB

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

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

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

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

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+

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

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

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+

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

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

Intel MSR Performance Monitoring Basics

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

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

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

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

 

The Trouble With FSUB

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?

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

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

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

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

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

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)

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

Hi there,
Jan 17, 2012

 

Calling ASM functions from 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!

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