implements a genetic algorithm to find the "best" options for
compiling programs with the GNU Compiler Collection (GCC) C and C++
compilers. "Best", in this context, is defined as those options
that produce the fastest executable program from a given source
code. Acovea is a C++ framework that can be extended to test other
programming languages and non-GCC compilers.
WWW: http://www.coyotegulch.com/products/acovea/index.html
PR: ports/101211
Submitted by: trasz <trasz at pin.if.uz.zgora.pl>
The Readonly module (q.v.) is an effective way to create non-modifiable
variables. However, it's relatively slow.
The reason it's slow is that is implements the read-only-ness of variables
via tied objects. This mechanism is inherently slow. Perl simply has to do
a lot of work under the hood to make tied variables work.
This module corrects the speed problem, at least with respect to scalar
variables. When Readonly::XS is installed, Readonly uses it to access the
internals of scalar variables. Instead of creating a scalar variable object
and tying it, Readonly simply flips the SvREADONLY bit in the scalar's
FLAGS structure.
Readonly arrays and hashes are not sped up by this, since the SvREADONLY
flag only works for scalars. Arrays and hashes always use the tie interface.
Why implement this as a separate module? Because not everyone can use XS.
Not everyone has a C compiler. Also, installations with a statically-linked
perl may not want to recompile their perl binary just for this module.
Rather than render Readonly.pm useless for these people, the XS portion was
put into a separate module.
WWW: http://search.cpan.org/dist/Readonly-XS/
Justification: socialtext dependency
in many of my programs, but which aren't "big enough" to warrant
an individual library.
Key features of Coyotl include:
-- A polymorphic collection of the best psuedorandom number generators,
including the Mersenne Twister and Marsaglia's favorites.
-- Utilities for floating-point numbers, including additional functions
for trigonometry, least common multiple, greatest common denominator,
rounding, and other purposes.
-- A simple cross-platform command-line parser.
-- A framework for generating random rectangular mazes.
-- A template for fixed-point math based on different integer sizes
and decimal point locations.
-- Templatized sorting utilities (designed before Std. C++'s <algorithms>,
but still useful)
-- Validation tools for "Design by Contract" programming.
WWW: http://www.coyotegulch.com/products/libcoyotl/index.html
PR: ports/101209
Submitted by: trasz <trasz at pin.if.uz.zgora.pl>
Why should one use a module to get the PID and the PPID of a process
where there are the $$ variable and the getppid() builtin? (Not
mentioning the equivalent POSIX::getpid() and POSIX::getppid()
functions.)
In fact, this is useful on Linux, with multithreaded programs. Linux'
C library, using the linux thread model, returns different values of
the PID and the PPID from different threads. (Other thread models such
as NPTL don't have the same behaviour). This module forces perl to
call the underlying C functions getpid() and getppid().
WWW: http://search.cpan.org/dist/Linux-Pid/
that strikes only in multithreaded programs on Unix platforms, if:
* Multiple threads construct regexes concurrently, or
* Multiple threads perform search and replace operations concurrently.
- Bump PORTREVISION (threads are enabled in the port's default configuration)
Submitted by: John Maddock <john@johnmaddock.co.uk> via boost-announce
Found by: Aleksey Sanin
See also: http://lists.boost.org/boost-announce/2006/08/0097.php
Class::Field exports two subroutines, field and const. These
functions are used to declare fields and constants in your class.
Class::Field generates custom code for each accessor that is
optimized for speed.
WWW: http://search.cpan.org/dist/Class-Field/
PiKdev is a simple graphic IDE for the development of PIC-based applications.
It currently supports assembly language. C language is also supported for PIC
18 devices. PiKdev is developed in C++ under Linux, FreeBSD and is based on
the KDE environment.
WWW: http://pikdev.free.fr/
Approved by: garga (mentor)
PEAR install.
* The format for the page is similar to that for phpinfo() except using PEAR
colors.
* Has complete PEAR Credits (based on the packages you have installed).
* Will show if there is a newer version than the one presently installed
(and what its state is)
* Each package has an anchor in the form pkg_PackageName - where PackageName
is a case-sensitive PEAR package name
With a few parameters, the entire package.xml is automatically updated with a
listing of all files in a package.
WWW: http://pear.php.net/package/PEAR_Info/
PR: ports/101102
Submitted by: chinsan <chinsan.tw at gmail.com>
FT232BM and FT245BM type chips including the popular bitbang mode.
Note: When you get a -5 error "can't claim usb device" during
ftdi_usb_open(), make sure the kernel ftdi_sio driver is unloaded.
WWW: http://www.intra2net.com/de/produkte/opensource/ftdi/
PR: ports/100982
Submitted by: Olexandr Davydenko <o.davydenko at gmail.com>