How the Sinatra web framework would look like in Delphi

The Ruby web framework Sinatra needs three lines of code to map a context (web address) with a HTTP GET request handler:

get '/hi' do
  "Hello World!"
end

In Delphi, I managed to implement the same with this code (see the web framework status project status here):

get(TRoute.Create('/hello',
     function(Request: TRequest; Response: TResponse): TObject
     begin
       Result := TStringBuilder.Create('Hello world!');
     end));

Habari Client for HornetQ reaches 5700+ roundtrips/second

The Habari message broker client library for Delphi has reached a new record – more than 5,700 message roundtrips per second (on a entry level 6820s laptop). So the Delphi client side sends and receives a total of 10,000+ messages per second, which means less than 100 microseconds per message.

Habari Client for HornetQ 1.6 (c) 2010-2011 Michael Justin
Connecting to URL: stomp://localhost:61613
Consuming: TOOL.DEFAULT
Press Ctrl+C to stop
sent/received/tp: 11291/10707/5356 msgs/s
sent/received/tp: 22553/22124/5532 msgs/s
sent/received/tp: 33860/33565/5595 msgs/s
sent/received/tp: 45082/44599/5574 msgs/s
sent/received/tp: 56758/56272/5627 msgs/s
sent/received/tp: 68198/67635/5636 msgs/s
sent/received/tp: 79686/79097/5649 msgs/s
sent/received/tp: 91201/90630/5664 msgs/s
sent/received/tp: 103065/102565/5698 msgs/s
sent/received/tp: 114948/114436/5721 msgs/s
sent/received/tp: 126172/125513/5705 msgs/s
sent/received/tp: 137815/137174/5715 msgs/s
sent/received/tp: 148769/148197/5699 msgs/s
sent/received/tp: 160583/160115/5718 msgs/s
sent/received/tp: 171540/171339/5711 msgs/s
sent/received/tp: 183806/183201/5724 msgs/s
sent/received/tp: 195206/194844/5730 msgs/s
sent/received/tp: 206819/206162/5726 msgs/s
sent/received/tp: 217918/217355/5719 msgs/s

VisualMM for FastMM first demo download available

A first demo application for VisualMM is now available for download at http://www.habarisoft.com/download/VisualMMWebDemo.zip (234 KB), it requires Apache ActiveMQ 5 (http://activemq.apache.org).

Start the ActiveMQ broker with this command line:

<path to ActiveMQ>\bin\activemq-admin.bat start xbean:activemq-demo.xml

VisualMMWebDemo.exe uses an embedded Indy HTTP server. The local firewall will issue a warning if you start it. When started, the demo will launch the web browser to show the monitor charts (see http://www.habarisoft.com/visualmm.html for a dynamic example).

The demo writes its own memory allocation statistics to the ActiveMQ broker and reads it back to create the charts.

The next demo will also allow to select from a list of running applications which provide VisualMM data.