Assembly Code Snippet to measure base CPU Frequency
Basically the base (not turbo boosted) CPU Frequency is amount of TSC Increments per one second.
Basically the base (not turbo boosted) CPU Frequency is amount of TSC Increments per one second.
This code will read latency and throughput of the CPU instructions (Draft)
This code will read memory at different sizes and measure bandwidth
The easiest way to print integer and floating-point values from Assembly Code to the Console
I ran my own experiments to better understand how Hyper-Threading works internally on Windows, using hand-written assembly benchmarks — from single-register multiplications to SHA-256 hashing.
llvm-mca is a performance analysis tool to statically measure the performance of machine code in a specific CPU.
For some reason, I need a fast method for string search. The LabVIEW Search/Split String function is relatively slow, I’ve done this using String Zilla, and achieved around a 20x boost with AVX2/AVX512.
I just encountered slow string performance in LabVIEW when a large string is passed to a DLL as a C string pointer. It is always better to pass it as ‘Adapt to Type’ instead of a pointer.
B&R PLC could be programmed with C and C++. But you can also use Assembly. Below short instruction how to do that.
In some cases we need to measure a very short intervals (hundreds of the CPU Tacts) directly in Assembler. We can perform measurement by using cpuid/rdtsc combination.
Nowadays development on pure Assembler is not very popular, because modern compilers can generate “good” code. On the other hand this is a very good exercise, which helps to understand a calling conventions and how it work in very low details.
Calling external code from different languages is great feature of LabVIEW. In general you can wrap almost anything into DLL, then call it by Call Library Function Node. This time we will mix Rust code with LabVIEW.