Coexistence of thread-safe and non-thread-safe commands
Have you ever needed to use methods with both thread-safe and not thread-safe calls, with conditions that skip over commands that are not thread-safe? Currently the compiler prevents doing this and an error is thrown, however there’s a flag that lets you disable this check and this blog post shows you how.
Concurrent merged clients from the same computer
You asked for a way to run multiple clients on the same computer AND simultaneously connect them to the same 4D Server. We not only heard you, we’re giving you even more with 4D v17 R5! Each connection now includes a separated cache folder containing the connection’s IP address, port, and a hash code. Thanks to this, you can now also connect several clients from the same machine to multiple servers on different machines. There’s no configuration necessary, just launch and watch it work!
Improved performance: up to 8xs faster (no, that’s not a typo)!
Scalability is one of our primary concerns and 4D v17 R5 brings good news in this area, particularly for those with a heavy process load on their 4D Server. You’ll notice significant improved performance speeds when remote clients (one, two, or even hundreds) are connected to your server.
4D’s internal architecture has been enhanced and now processor usage is fully optimizedopens in a new tab) in preemptive mode and simultaneous read/write accesses on the same table. As a result, you could see performance 4 to 8xs faster!
64-bit support brings new opportunities
Without sugarcoating it, 4D v17 R5 is 64-bit only! It’s no secret that many features, such as preemptive processes, new cache manager, 4D View Pro, and more are already only available in 64-bit. The bright side is that focusing on 64-bit systems makes it possible for us to incorporate more modern technologies and feature sets, as well as update many libraries. This change also brings new opportunities and in this blog post we’ll focus on the updated libraries and the positive impact on your 4D applications.
More thread-safe commands at your disposal
4D lets you take full advantage of multi-core computers with preemptive processes. In a previous blog post, we’ve provided you with a list of enhanced commands that can be used in preemptive processes, enabling faster global execution time and more connected users. And in response to your feedback, we increased the list with even more commands.
Preemptive Web Services Server and Client
Preemptive Web Services allow your applications to take full advantage of multi-core computers resulting in faster responses for simultaneous requests. It’s not only powerful, it’s also easy: from the Method Properties of any method, just select the “Can be run in preemptive processes” option and you’re off and running!
A 4D method can be preemptive or not according to compilation options and the use of the language, as explained in this post.
Contact us
Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!
* Your privacy is very important to us. Please click here to view our Policy