Product blank

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!

Product blank

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!

Product blank

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.

Product Web Service in preemptive

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.