Nowadays, web applications are essential modern tools. As machines and processors become more and more powerful, your web applications must constantly meet performance requirements. This is why with 4D v18 R6, the 4D Web Server offers a new kind of web session: the scalable Web session.
Let’s find out more!
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!
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 processes are powerful since they allow your applications to take full advantage of multi-core computers; consequently, this results in faster global execution time and more connected users. With 4D v17, we went a step further by providing you 1,000+ thread-safe commands!
Watch the Preemptive multi-threading video from the 4D Summit 2018 Keynote. It features Add Komoncharoensiri, Director of Technical Services (4D USA), explaining how the preemptive support in 4D helps you take advantage of your multi-core machines, as well as the new concepts we shipped along the way to help you boost performance and efficiency.
In code kitchens, I usually spend some time with the database settings, especially with the Compatibility settings. Often certain settings don’t follow best practices and during discussions with the application developer, I hear “oh, I never changed these” or “I’m not sure about the impact, so better not touch them”.
Since they could drastically impact the performance or behavior of your applications, we’ve begun a series of blog posts to discuss some of these “secret” settings.
A preemptive process is powerful as it allows your application to take full advantage of multi-core computers; consequently, its results in a faster global execution time and more connected users. A 4D process may be preemptive or not according to compilation options and the use of the language, as explained in this post.
In order to benefit from this mode as much as possible we are pleased to announce that more than twenty existing commands have been enhanced and can now be used inside preemptive processes.
Our own VP of Engineering, Laurent Esnault, explains exchanging information between multiple processes AND between processes and forms during his Break Out Session: Preemptive Multi-threading at 4D Summit 2016. Thanks to preemptive multi-threading, you can have more parallel processes, and thus add more and more users, for either desktop or web applications.
If you missed Laurent’s session at 4D Summit 2016, watch this 15-min video and enjoy some personal training by the master of preemptive multi-threading!
Laurent Esnault, VP of Engineering, explains the difference between cooperative and preemptive processes during his Break Out Session about Preemptive Multi-threading at 4D Summit 2016. Thanks to Preemptive Multi-threading, you can have more parallel processes, and thus add more and more users, either for desktop or for web applications.
If you missed Laurent’s session at 4D Summit 2016, watch this video and enjoy some personal training by the master of preemptive multi-threading!
Cache management is actually a key element of the database management, Laurent Ribardière presents at 4D Summit Portland 2016 the new cache manager he implemented in the 4D v16 64-bit version.
Before watching the technical presentation with details about the implementation, we recommend to start with these two blog posts, describing the feature benefit itself:
4D v16 introduced a new fully optimized cache manager for the 64-bit product line. 4D v16 R2 is giving power to our advanced 4D developers to take control by themselves!
The cache manager internal algorithm is based on a priority concept associated to each object type to store in the cache memory. By default, the cache manager algorithm assigns a higher priority value for an index than for records. And recently used objects (records or indexes) have a higher priority to remain in the cache than objects that have not been used in the last two days, etc…