Did you know that jBASE has built-in profiling capabilities? It’s called jprof—but don’t worry if you haven’t heard of it before now. I just recently discovered jprof and it was like a lightbulb—or a floodlight—going off in my head. The benefits of jprof for jBASE programmers and developers are so huge, I need to let everyone know about it.
Having been in software technical support for practically my whole career, I’ve worked on more than a few Pick and MultiValue development projects. The vast majority of them follow the same trajectory: people write applications against the MultiValue database, and they keep adding capabilities and features for vertical markets and workloads over the years. Naturally, the application becomes very bulky and slows down over time. Companies then find themselves in the position where they used to be able to update 20,000 records in an hour and now can only do 6,000 in the same time.
Why is that? Is it the amount of data? Is it other applications slowing the machine down where you can’t get enough time on the CPU to actually execute anything?
To help our customers solve this problem and optimize their applications, I started looking for a way to easily find out information about customers’ MultiValue applications and databases at a glance. I discovered that jBASE has its own built-in profiling capability called jprof, which enables us to profile individual applications to learn more about the database and how it’s being used. You run one command, and you can see immediately why an app is running slow.
jprof tells you how much CPU time your app is spending doing a particular line of code. You can have thousands of lines of code in your program, but with jprof, you can see the 15-20 lines where all the real work is being done. That’s huge for a developer because now you can look and see if you can optimize those lines. Or maybe it’s doing something repetitively that only needs to be done once. You can capture that result and use it in a program rather than going out and reading a record every time.
The benefits of jprof are immense. What’s got me really head-over-heels is that it is not an external tool—it’s built in to jBASE. You could spend all kinds of money on a third-party tool to profile your application, but the tool doesn’t know anything about your database, so it can’t really give you what you need. You don’t get enough information to really make decisions on how to optimize your application. With jprof, you type in one command and all of a sudden, you’re profiling. You can see the results immediately.
I’ve been doing this MultiValue stuff for 25 years, and I’ve never seen anything like this built into the product. You could spend hours trying to find the data that jprof gives you in just a few minutes.
To get started, check out this reference guide.