![]() |
![]() |
|
APLX64TM : The full 64-bit APL |
|
BackgroundThe launch by AMD of a 64-bit version of the x86 architecture has opened the way for low-cost, 64-bit systems in the mass market. Today, you can buy a desktop machine - or even a laptop - with a 64-bit processor, for about the same price as an equivalent 32-bit system. Intel have now followed AMD with a binary-compatible equivalent (EM64T), and 64-bit x86 systems are now becoming commonplace. Such machines can address extraordinary amounts of memory. 32-bit systems are limited to at most 4GB of memory address space, and usually this is not all available to user processes (Windows, for example, normally has a limit of 2GB). Today, Windows XP Professional x64 Edition (or Vista 64-bit) supports up to 128GB of RAM and 16 Terabytes of virtual memory. In the future, even more memory will be usable. And the cost of RAM has fallen to such an extent that it is already possible to configure desktop machines with tens of gigabytes of RAM at low cost. Of course, it is not just the size of workspace which matters; it is also the maximum size of arrays. 32-bit APL systems use 32-bit slots to hold array sizes and dimensions. Thus, even if the processor can address more than 32-bits and the APL interpreter provide access to a workspace size greater than 4GB, it does not follow that the APL interpreter will necessarily handle arrays which will take full advantage of this memory. For this reason, MicroAPL has developed a fully 64-bit version of APLX, which will overcome all interpreter-imposed limitations in workspace and array size for the foreseeable future. APLX64 is this new product. It is now available for Linux and Windows (see below for MacOS availability). In APLX64, all array dimensions are 64-bit, so there are effectively no limits other than available memory on the number of elements in any array, or the maximum length along any dimension. Integers are also 64-bit (otherwise you would have to use floating-point numbers to index arrays!). Booleans remain as one bit per element, making it possible to handle huge Boolean arrays without excessive memory requirements. Huge native file and component files are of course fully supported, and APLX64 includes built-in 64-bit access to SQL databases. Key features of APLX64
Target MarketsAPLX64 extends the reach of APL upwards to applications which previously were beyond its reach. Examples include modelling and simulation using huge data sets, statistical applications, analysis of scientific data, genetics, and OLAP applications for analysis and aggregation of large volumes of transactional data. In this new world, you do not need to compromise: you can just load the entire data set into the APL workspace. The benefit is direct manipulation, in the APL workspace, of data which other languages have to process piecemeal. AvailabilityAPLX64 (Desktop and Server editions) is now available for Windows XP64 and Vista 64-bit, and Linux x86_64 platforms. APLX64 under MacOS XThe 'Leopard' version of MacOS features improved support for 64-bit applications. We are considering whether to release a 64-bit version of APLX for MacOS. If you would like to run APLX64 on a Mac, please use our feedback form to register your interest.
|
Copyright © 1996-2007 MicroAPL Ltd