Skip to content

Commit 9bbf172

Browse files
committed
v2.0
1 parent 3b02797 commit 9bbf172

File tree

91 files changed

+24454
-542
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+24454
-542
lines changed

.github/workflows/ci.yml

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
6+
jobs:
7+
linux:
8+
runs-on: ubuntu-latest
9+
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
perl-version:
14+
- '5.36'
15+
16+
container:
17+
image: perldocker/perl-tester:${{ matrix.perl-version }}
18+
19+
steps:
20+
- uses: actions/checkout@main
21+
with:
22+
submodules: recursive
23+
- run: perl -V
24+
- run: cpanm --notest --installdeps --verbose .
25+
- run: perl Makefile.PL
26+
- run: make
27+
- run: prove -wlvmb t

.gitignore

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1-
data/*.html
21
data/*.seq
3-
data/t/
2+
.DS_Store
3+
nytprof*
4+
cover_db*
5+
.vstags
6+
/.vscode/
7+
/.idea/

Changes

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Revision history for Benchmark-DKbench
2+
3+
2.0 2023-08-28
4+
Rewritten with more benchmarks and multi-threading.
5+
First CPAN release.
6+
7+
1.0 2021-12-21
8+
First version.
9+

MANIFEST

+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
Changes
2+
data/t/attributes/accessor_context.t
3+
data/t/attributes/accessor_inlining.t
4+
data/t/attributes/accessor_override_method.t
5+
data/t/attributes/accessor_overwrite_warning.t
6+
data/t/attributes/attr_dereference_test.t
7+
data/t/attributes/attribute_accessor_generation.t
8+
data/t/attributes/attribute_custom_metaclass.t
9+
data/t/attributes/attribute_delegation.t
10+
data/t/attributes/attribute_does.t
11+
data/t/attributes/attribute_inherited_slot_specs.t
12+
data/t/attributes/attribute_lazy_initializer.t
13+
data/t/attributes/attribute_names.t
14+
data/t/attributes/attribute_reader_generation.t
15+
data/t/attributes/attribute_required.t
16+
data/t/attributes/attribute_traits_n_meta.t
17+
data/t/attributes/attribute_traits_parameterized.t
18+
data/t/attributes/attribute_traits_registered.t
19+
data/t/attributes/attribute_traits.t
20+
data/t/attributes/attribute_triggers.t
21+
data/t/attributes/attribute_type_unions.t
22+
data/t/attributes/attribute_without_any_methods.t
23+
data/t/attributes/attribute_writer_generation.t
24+
data/t/attributes/bad_coerce.t
25+
data/t/attributes/chained_coercion.t
26+
data/t/attributes/clone_weak.t
27+
data/t/attributes/default_class_role_types.t
28+
data/t/attributes/default_undef.t
29+
data/t/attributes/delegation_and_modifiers.t
30+
data/t/attributes/delegation_arg_aliasing.t
31+
data/t/attributes/delegation_target_not_loaded.t
32+
data/t/attributes/illegal_options_for_inheritance.t
33+
data/t/attributes/inherit_lazy_build.t
34+
data/t/attributes/lazy_no_default.t
35+
data/t/attributes/method_generation_rules.t
36+
data/t/attributes/misc_attribute_coerce_lazy.t
37+
data/t/attributes/misc_attribute_tests.t
38+
data/t/attributes/more_attr_delegation.t
39+
data/t/attributes/no_init_arg.t
40+
data/t/attributes/no_slot_access.t
41+
data/t/attributes/non_alpha_attr_names.t
42+
data/t/attributes/numeric_defaults.t
43+
data/t/attributes/trigger_and_coerce.t
44+
data/t/attributes/type_constraint.t
45+
data/t/recipes/basics_bankaccount_methodmodifiersandsubclassing.t
46+
data/t/recipes/basics_binarytree_attributefeatures.t
47+
data/t/recipes/basics_company_subtypes.t
48+
data/t/recipes/basics_datetime_extendingnonmooseparent.t
49+
data/t/recipes/basics_document_augmentandinner.t
50+
data/t/recipes/basics_http_subtypesandcoercion.t
51+
data/t/recipes/basics_point_attributesandsubclassing.t
52+
data/t/recipes/extending_debugging_baseclassrole.t
53+
data/t/recipes/extending_mooseish_moosesugar.t
54+
data/t/recipes/legacy_debugging_baseclassreplacement.t
55+
data/t/recipes/legacy_labeled_attributemetaclass.t
56+
data/t/recipes/meta_globref_instancemetaclass.t
57+
data/t/recipes/meta_labeled_attributetrait.t
58+
data/t/recipes/meta_privateorpublic_methodmetaclass.t
59+
data/t/recipes/meta_table_metaclasstrait.t
60+
data/t/recipes/roles_applicationtoinstance.t
61+
data/t/recipes/roles_comparable_codereuse.t
62+
data/t/recipes/roles_restartable_advancedcomposition.t
63+
data/M31.jpg
64+
data/wiki0.html
65+
data/wiki1.html
66+
data/wiki2.html
67+
dkbench
68+
lib/Benchmark/DKbench.pm
69+
lib/Benchmark/DKbench/Setup.pm
70+
Makefile.PL
71+
MANIFEST This list of files
72+
README
73+
setup_dkbench
74+
t/00-load.t
75+
t/cover.t
76+
t/simple.t
77+
xt/author/manifest.t
78+
xt/author/pod.t

MANIFEST.SKIP

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Top-level filter (only include the following...)
2+
^(?!(?:script|examples|lib|inc|t|xt|data)/|(?:(?:Makefile|Build)\.PL|README|LICENSE|MANIFEST|Changes|META\.(?:yml|json))$)
3+
4+
# Avoid version control files.
5+
\bRCS\b
6+
\bCVS\b
7+
,v$
8+
\B\.svn\b
9+
\b_darcs\b
10+
# (.git or .hg only in top-level, hence it's blocked above)
11+
12+
# Avoid temp and backup files.
13+
~$
14+
\.tmp$
15+
\.old$
16+
\.bak$
17+
\..*?\.sw[po]$
18+
\#$
19+
\b\.#
20+
21+
# avoid OS X finder files
22+
\.DS_Store$
23+
24+
# ditto for Windows
25+
\bdesktop\.ini$
26+
\b[Tt]humbs\.db$
27+
28+
# Avoid patch remnants
29+
\.orig$
30+
\.rej$

Makefile.PL

+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
use 5.006;
2+
use strict;
3+
use warnings;
4+
use ExtUtils::MakeMaker;
5+
use File::ShareDir::Install;
6+
7+
install_share dist => 'data';
8+
9+
my %WriteMakefileArgs = (
10+
NAME => 'Benchmark::DKbench',
11+
AUTHOR => q{Dimitrios Kechagias <dkechag@cpan.org>},
12+
VERSION_FROM => 'lib/Benchmark/DKbench.pm',
13+
ABSTRACT_FROM => 'lib/Benchmark/DKbench.pm',
14+
LICENSE => 'perl_5',
15+
MIN_PERL_VERSION => '5.12.0',
16+
CONFIGURE_REQUIRES => {
17+
"ExtUtils::MakeMaker" => '6.52',
18+
"File::ShareDir::Install" => 0,
19+
},
20+
EXE_FILES => ["dkbench", "setup_dkbench"],
21+
TEST_REQUIRES => {
22+
'Test2::Tools::Exception' => '0',
23+
'Test2::V0' => '0',
24+
},
25+
PREREQ_PM => {
26+
'Astro::Coord::Constellations' => '0',
27+
'Astro::Coord::Precession' => '0',
28+
'Crypt::JWT' => '0.032',
29+
'CSS::Inliner' => '0',
30+
'DateTime' => '0',
31+
'File::ShareDir' => '0',
32+
'HTML::FormatText' => '0',
33+
'HTML::TreeBuilder' => '0',
34+
'Imager' => '1',
35+
'Imager::File::JPEG' => '0',
36+
'Image::PHash' => '0.3',
37+
'JSON::XS' => '0',
38+
'Math::MatrixReal' => '0',
39+
'Math::DCT' => '0',
40+
'Moose' => '0',
41+
'MCE::Loop' => '0',
42+
'Sys::Info' => '0',
43+
'Test::Harness' => '0',
44+
'Test::Output' => '0',
45+
'Test::Requires' => '0',
46+
},
47+
dist => {
48+
COMPRESS => 'gzip -9f',
49+
SUFFIX => 'gz',
50+
},
51+
META_MERGE => {
52+
"meta-spec" => { version => 2 },
53+
resources => {
54+
repository => {
55+
type => 'git',
56+
url => 'git://github.com/dkechag/Benchmark-DKbench.git',
57+
web => 'https://github.com/dkechag/Benchmark-DKbench',
58+
},
59+
},
60+
},
61+
clean => {FILES => 'Benchmark-DKbench-*'},
62+
);
63+
64+
# Compatibility with old versions of ExtUtils::MakeMaker
65+
unless (eval { ExtUtils::MakeMaker->VERSION('6.64'); 1 }) {
66+
my $test_requires = delete $WriteMakefileArgs{TEST_REQUIRES} || {};
67+
@{$WriteMakefileArgs{PREREQ_PM}}{keys %$test_requires} = values %$test_requires;
68+
}
69+
70+
unless (eval { ExtUtils::MakeMaker->VERSION('6.55_03'); 1 }) {
71+
my $build_requires = delete $WriteMakefileArgs{BUILD_REQUIRES} || {};
72+
@{$WriteMakefileArgs{PREREQ_PM}}{keys %$build_requires} = values %$build_requires;
73+
}
74+
75+
delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
76+
unless eval { ExtUtils::MakeMaker->VERSION('6.52'); 1 };
77+
delete $WriteMakefileArgs{MIN_PERL_VERSION}
78+
unless eval { ExtUtils::MakeMaker->VERSION('6.48'); 1 };
79+
delete $WriteMakefileArgs{LICENSE}
80+
unless eval { ExtUtils::MakeMaker->VERSION('6.31'); 1 };
81+
82+
WriteMakefile(%WriteMakefileArgs);
83+
84+
package MY;
85+
use File::ShareDir::Install 'postamble';

README

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
Benchmark-DKbench
2+
3+
Benchmark::DKbench - Fast perceptual image hashing (DCT-based pHash)
4+
5+
INSTALLATION
6+
7+
Normally you would expect to use a package manager like cpanm to install as:
8+
9+
cpanm Benchmark::DKbench
10+
11+
To install this module manually, run the following commands:
12+
13+
perl Makefile.PL
14+
make
15+
make test
16+
make install
17+
18+
This, however requires certain CPAN modules and libraries (e.g. dev versions of
19+
libjpeg, libdb) to be installed. See setup_dkbench for more details.
20+
21+
SUPPORT AND DOCUMENTATION
22+
23+
CPAN:
24+
https://metacpan.org/release/Benchmark-DKbench
25+
26+
After installing, you can find documentation for this module with the
27+
perldoc command:
28+
29+
perldoc Benchmark::DKbench
30+
31+
Source code and issues on GitHub:
32+
https://github.com/dkechag/Benchmark-DKbench
33+
34+
LICENSE AND COPYRIGHT
35+
36+
This software is copyright (c) 2021-2023, Dimitrios Kechagias.
37+
38+
This is free software; you can redistribute it and/or modify it under
39+
the same terms as the Perl 5 programming language system itself.

0 commit comments

Comments
 (0)