Below is a formal list of possible optimizations, which most would agree on. We had these discussion in 2001 with damian were perl6 and perl5i took off. I'd like to work on these for perl5 core and need decisions. Most p5p hackers seem to be informed about the general possibilities and directions, but not all. We'd need this to improve general perl5 performance, and also help static compilation.[1]
/*********************************************************************** | |
* connect.c -- Make socket connection using SOCKS4/5 and HTTP tunnel. | |
* | |
* Copyright (c) 2000-2006 Shun-ichi Goto | |
* Copyright (c) 2002, J. Grant (English Corrections) | |
* Copyright (c) 2010, Reini Urban (added realm to http_auth basic) | |
* | |
* This program is free software; you can redistribute it and/or | |
* modify it under the terms of the GNU General Public License | |
* as published by the Free Software Foundation; either version 2 |
Note that OpenBSD also disabled the openssl freelist "optimization". | |
CFLAGS+= -DOPENSSL_NO_BUF_FREELISTS -DOPENSSL_NO_HEARTBEAT | |
http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libssl/ssl/Makefile?rev=1.29;content-type=text%2Fx-cvsweb-markup | |
I used: | |
CC= clang | |
CFLAG+= -O3 -fsanitize=address -fsanitize=undefined -DOPENSSL_NO_BUF_FREELISTS -g | |
I also created a more readable version at https://github.com/rurban/openssl |
/* Scan DWG program -- for scanning a DWG file | |
Copyright (C) 1995, 1996 Frans Faase, Reini Urban | |
This program is free software; you can redistribute it and/or modify | |
it under the terms of the GNU General Public License as published by | |
the Free Software Foundation; either version 2 of the License, or | |
(at your option) any later version. | |
This program is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
make: Nothing to be done for 'miniperl'. | |
0 1.451963 | |
0 1.453744 | |
# perlmini miniperlmain gv toke perly opmini pad sv hv av run pp_hot ppmini pp_type scope pp_ctl pp_sys doop doio regcomp util xsutilsmini mg keywords regexec utf8 globals universal | |
# 27 1 | |
0 1.462567 | |
# perlmini miniperlmain gv toke perly opmini pad sv hv av run pp_hot ppmini pp_type scope pp_ctl pp_sys doop doio regcomp util xsutilsmini mg keywords regexec utf8 universal globals | |
# 27 2 | |
0 1.455446 | |
# perlmini miniperlmain gv toke perly opmini pad sv hv av run pp_hot ppmini pp_type scope pp_ctl pp_sys doop doio regcomp util xsutilsmini mg keywords regexec utf8 globals universal |
# detected by mziescha | |
use warnings 'shadow-package'; # or just shadow | |
package Acme::Test; | |
sub new { bless {}, shift } | |
sub Sub { 'shadowed' } | |
package Acme::Test::Sub; | |
sub new { print 'Sub'; bless {}, shift } # warn: "Package Acme::Test::Sub shadowed by Acme::Test->Sub at warn-shadow-pkg.pl, line 8" |
I hereby claim:
- I am rurban on github.
- I am rurban (https://keybase.io/rurban) on keybase.
- I have a public key ASA4zOnAYHaV6V5Kkbs121Eju-DcyNamr0ZIRsNpVBDwRAo
To claim this, I am signing this object:
#!/usr/bin/perl | |
# | |
# Symbolize AddressSanitizer stacktraces via objdump -Sd. | |
# Expands the 0 frame srcline and for subsequent frames only the function name. | |
# | |
# OPTIONS: | |
# -l prints all lines, without -l only the expanded stacktraces. | |
# -f<n> disassembles the first n stackframes, not only the first | |
# -f0 disassembles all stackframes | |
# Copyright 2011 Reini Urban, BSD License |
rurban@cpan.org for clisp mingw64 builds | |
Avoid the need for -Iddk with #include <ntifs.h> | |
--- mingw32/i686-w64-mingw32/include/ddk/ntddk.h~ 2017-01-14 23:19:13.000000000 +0100 | |
+++ mingw32/i686-w64-mingw32/include/ddk/ntddk.h 2017-03-22 14:46:54.000000000 +0100 | |
@@ -35,11 +35,11 @@ | |
#define NT_INCLUDED | |
#define _CTYPE_DISABLE_MACROS | |
-#include <wdm.h> |
Perl 5 is still in business but lost lot of its market share since the announcement of Perl 6. I'll outline the technological problems with perl5 which led to perl6, the management problems, and my various attempts to get perl5 into proper shape. parrot, the perl compiler, p2 and cperl. There are interesting observations in toxic cultures and technological problems.
Session type: 40-minute presentation Topics: The new stuff Abstract
Perl 5 is still in business but lost lot of its market share since the announcement of Perl 6 in 2002.
I’ll outline the technological problems with perl5 which led to perl6, the management problems in the p5p perl community which led to serious brain drain, the various attempts to get parrot and perl6 into shape for the last 14 years and more.