Synopse

To content | To menu | To search

2010, Tuesday August 10

Writing Delphi code for 64 bits compiler

There will be an upcoming 64 bits Delphi compiler. Embarcadero promised it.

Florian (the architect of FPC) showed a first "Hello world" program for Win64 in March 2006.
This was remarkable since GCC and the binutils don't even support this target at this time.
In fact, FPC used its Internal linker on Win32 and Win64 platforms, just like Delphi does.

Here are some points on how you could make your code ready to compile under FPC 64 bits, therefore (I hope) under future Delphi 64 bits compiler.

Continue reading...

2010, Friday July 30

Compiler enhancement proposal: threadlocalvar

As I wrote in a previous post, Delphi string, dynamic array and memory manager don't like multi-core CPU.

My proposal is to add a threadlocalvar keyword, to be used instead of var in your code, to mark some variables to be used in only the current thread. Then the compiler and RTL won't have to use the LOCK instruction, and the application will be MUCH faster in multi-thread environment.

Continue reading...

2010, Thursday July 15

Delphi doesn't like multi-core CPUs (or the contrary)

If you're like me, you are proud of the new CPU your computer runs on - in my case a i7-720Q with 8 embedded cores...

But Delphi is not very multi-thread or multi-core friendly... guess why....

Continue reading...

2010, Sunday March 28

Mac OS X Stack Alignment, asm and trolls

In a very interesting commentPhiS spoke about the Mac OS X Stack Alignment problem, and the way asm code should be written for the future Cross Platform Delphi compiler. Here are some (hope without any Troll hidden) reflections I went through.

Continue reading...

2010, Wednesday March 24

Fast JPEG decoder using SSE/SSE2 version 1.2

The Fast JPEG decoder using SSE/SSE2 library file has been updated, and is now in version 1.2, released under a MPL/GPL/LGPL tri-license. It's mainly a bug issue fix.

Continue reading...

2010, Tuesday March 23

CopyRecord faster proposal

After some speed debates occurred in the Delphi community, I've rewritten the _CopyRecord function of the system.pas unit, with speed in mind.

Continue reading...

2010, Thursday March 18

Fast JPEG decoder using SSE/SSE2 version 1.1

The Fast JPEG decoder using SSE/SSE2 library file has been updated, and is now in version 1.1, released under a MPL/GPL/LGPL tri-license.

Continue reading...

2010, Sunday March 14

Fast JPEG decoder using SSE/SSE2

This LGPL-distributed unit allows very fast JPEG image decoding, using SSE/SSE2 pure assembly code. It is much faster than the standard jpeg.pas unit.

It's based on the great Dr. Manhattan's source code, from http://sourceforge.net/projects/jpegdec

Continue reading...