What is microbenchmarking :
To illustrate the subject of our article, we used the famous quotation of the great Cardinal de Richelieu (Les maximes d’Etat 1623):
«The great flames are born of small sparks».
To tie up the subject, this article will be divided into 5 parts:
1/ What is Microbenchmarking?
2/ How is it useful?
3/ Microbenchmarking in BigData
4/ What problems could we encounter?
5/ Microbenchmark vs Macrobenchmark.
6/ How to set your reference scale?
1/ What is Microbenchmarking?
When dealing with a research, survey, study, etc. the most manageable reference volume is the one of small size. It is by assembling the small elements that we achieve a larger scale.
As a general rule, the Microbenchmark is associated with the measurement of the execution time of an isolated unit of code. It is therefore used in the short term to perform tests of software sub-programs.
For Big Data, microbenchmarking is considered the first step in performance testing. It can be used on a cluster, algorithms, as well as framework tests to obtain more important data in terms of volume and accurate content.
2/ How is it useful?
In addition to its function of measuring small sections of code, the microbenchmark also evaluates the performance and speed of multiple functions that perform the same task. The microbenchmark is a method that you feed into your API, or an algorithm that you administer to an input. The execution time of this one is counted in milliseconds or sometimes less.
Considered as the first step of performance tests, they ensure the smooth operation at the T-moment of the multiple data that make up a software.
Here is a sample File System Micro-benchmark Tests:
Source: https://www.informit.com/articles/article.aspxp=2144597&seqNum=2
3/ Microbenchmarking in BigData
Usually, a test on a lower level of code components was enough to speak of microbenchmarking. Big Data came to change the game. When we talk about microbenchmarking, it engages the server cluster and at the same time engages the algorithms or frameworks on which the developer relies to build an application.
Microbenchmarks in BigData contain, in addition to virtualization tests such as files or memories delegated by middleware within the software, monograms of the conventional lower-level system. In this area, several measures of interest are before us: the overall processing power, the speed of the cluster globally, a consistent addition of data is essential to be able to fully exploit the overall capacity of the system you are setting up.
4/ What problem could we encounter?
The Microbenchmarking is perfect for testing a specific function. However, it is not designed to check for pervasive changes as it only handles the very short term. For example, it is almost impossible, if not impossible, to use them to test an acceleration. Not based on a fixed code, the Microbenchmark performs a single operation several times.
Your benchmark can therefore be put into play by a simple factor change, without you realizing it.
5/ Microbenchmark vs Macrobenchmark
Now that we have defined the Microbenchmark, we will move to its opposite which can only be the Macrobenchmark.
The macrobenchmark is more global than the micro, it allows a more general study that passes the cap on the small details that the microbenchmarking deals with. Complementing each other, the macrobenchmark cannot do anything without going through the microbenchmark:
- If the Benchmark fails, it is almost impossible to know the source if a microbenchmark is not done in advance.
- Small-scale optimization would be difficult to detect with a macrobenchmark.
- Large errors are easier to detect with a macrobenchmark than a microbenchmark.
- The effect of a macrobenchmark’s work is more visible when there are many microbenchmarks.
- The successful microbenchmark is evaluated by a benign variation and irreproachable accuracy. The macrobenchmark proves its correctness when the workload is high.
To better illustrate our lyrics in a more basic and palpable way, here is a fictional graph that summarizes a code benchmark, including both macro and microbenchmark:
The lower part contains small lines, the middle part medium lines and the upper part large lines.
Although the lines reaching the middle part of the graph are important, they cannot be made without passing through the endless lines at the bottom. These represent the microbenchmarking. As you can see, the macrobenchmark cannot be completed without the support of the microbenchmark
6/ How to set your reference scale?
Before you perform your benchmark, you must first ask yourself the following question: “What size should it be?” If you make an unsuitable microbenchmark, you will not get the results you are looking for. If on the other hand your clue is too important in relation to your research, you might get lost.
The best thing to do would be to ask you the question “What is my target?”
If you are thinking of convincing your client, requester or even the internet, you are probably facing a microbenchmarking. Apply it on a small scale and you will quickly get results on the toughness and speed of your application.
Be careful, don’t forget that the microbenchmark is for many programs and software a race against time, encouraging to ensure the proper functioning of sub-programs in line with the timely delivery of multiple individual components of a software or application.
However, when properly implemented, microbenchmarks are the best way for a developer to test a specific language.
If you are looking to convince your end users, then the macrobenchmark is your savior. It will allow you to test your system with a user view and not your own. So you will be able to detect faults on a large scale.
As you can see, microbenchmarking is your first line of performance testing. It will allow you to ensure the smooth and very short-term operation of several individual sub-programs. However, the end result of your code may look like Rube Goldeberg’s machine when it is not well done.
References links:
https://authority-tech.website/the-impact-of-covid-on-low-no-code/
https://worksplatform.com/en/the-rise-of-citizen-developers/
http://adservio.fr/Clients.html