profile
viewpoint

Dieken/adaptive-wrap 0

Mirror of the adaptive-wrap package from GNU ELPA

Dieken/async-http-client 0

Asynchronous Http and WebSocket Client library for Java

Dieken/avro 0

Apache Avro is a data serialization system.

Dieken/bitkeeper 0

A mirror of releases of bk. Actual development is done in bk itself.

Dieken/ClickHouse 0

ClickHouse is a free analytic DBMS for big data.

Dieken/collectd 0

The system statistics collection daemon. Mirror of the canonical repository (updated automatically). Please send Pull Requests here!

Dieken/commons-vfs 0

Mirror of Apache Commons VFS

Dieken/confluent-kafka-python 0

Confluent's Kafka Python Client

Dieken/confluent-schema-registry 0

is a library that makes it easier to interact with the Confluent schema registry

Dieken/directory-server 0

Apache Directory Server

startedbytedeco/javacpp

started time in 2 days

startedmicrosoft/playwright

started time in 3 days

startedreal-logic/simple-binary-encoding

started time in 13 days

issue openedquarkusio/jbang-catalog

need update to support quarkus 2.4.x and 2.5.x

this repository provides only 2.3.0.

created time in 19 days

startedjuanfont/headscale

started time in 24 days

startedcompiler-explorer/compiler-explorer

started time in a month

startedcube-js/cube.js

started time in a month

issue commentsmallrye/smallrye-open-api

SmallRyeOpenApiProcessor throw exception on org.javatuples.Pair

https://github.com/smallrye/smallrye-open-api/blob/2.1.15/core/src/main/java/io/smallrye/openapi/runtime/scanner/dataobject/TypeResolver.java#L1048

resolveParameterizedAncestor(AnnotationScannerContext context, ParameterizedType pType,
            Type seekType) {

pType is org.javatuples.Tuple and seekType is Iterable.

https://github.com/smallrye/smallrye-open-api/blob/2.1.15/core/src/main/java/io/smallrye/openapi/runtime/scanner/dataobject/TypeResolver.java#L1069

            if (interfaces.isEmpty()) {
                Type superType = cursorClass.superClassType();

                if (TypeUtil.isA(context, superType, seekType)) {
// XXX: WRONG,  Pair's superType Tuple isn't parameterized type!!!
                    cursor = createParameterizedType(superType, resolutionMap);
                } else {
                    seekContinue = false;
                }
            }

org.javatuples.Pair<A, B> extends org.javatuples.Tuple:

public final class Pair<A, B>
        extends Tuple
        implements IValue0<A>,
        IValue1<B> 

org.javatuples.Tuple implements Iterable:

public abstract class Tuple implements Iterable<Object>, Serializable, Comparable<Tuple>
Dieken

comment created time in a month

issue openedsmallrye/smallrye-open-api

SmallRyeOpenApiProcessor throw exception on org.javatuples.Pair

Add these two dependencies to pom.xml of a Quarkus project:

        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-smallrye-openapi</artifactId>
        </dependency>

        <dependency>
            <groupId>com.flipkart.utils</groupId>
            <artifactId>javatuples</artifactId>
            <version>3.0</version>
        </dependency>

Add a JAX-RS resource class:

import org.javatuples.Pair;

@Path("/hello")
public class HelloResource {
  @GET
  public Pair<String, String> hello() {
    return Pair.with("hello", "world");
  }
}

Run unit test HelloResourceTest will fail:

java.lang.RuntimeException: 
java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
	[error]: Build step io.quarkus.smallrye.openapi.deployment.SmallRyeOpenApiProcessor#build threw an exception: java.lang.IllegalArgumentException: Not a parameterized type!
	at org.jboss.jandex.Type.asParameterizedType(Type.java:228)
	at io.smallrye.openapi.runtime.scanner.dataobject.TypeResolver.createParameterizedType(TypeResolver.java:1088)
	at io.smallrye.openapi.runtime.scanner.dataobject.TypeResolver.resolveParameterizedAncestor(TypeResolver.java:1073)
	at io.smallrye.openapi.runtime.scanner.OpenApiDataObjectScanner.resolveSpecial(OpenApiDataObjectScanner.java:330)
	at io.smallrye.openapi.runtime.scanner.OpenApiDataObjectScanner.process(OpenApiDataObjectScanner.java:208)
	at io.smallrye.openapi.runtime.scanner.OpenApiDataObjectScanner.process(OpenApiDataObjectScanner.java:159)
	at io.smallrye.openapi.runtime.io.schema.SchemaFactory.otherTypeToSchema(SchemaFactory.java:610)
	at io.smallrye.openapi.runtime.io.schema.SchemaFactory.typeToSchema(SchemaFactory.java:448)
	at io.smallrye.openapi.runtime.scanner.spi.AnnotationScanner.createResponseFromRestMethod(AnnotationScanner.java:423)
	at io.smallrye.openapi.runtime.scanner.spi.AnnotationScanner.processResponse(AnnotationScanner.java:354)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.processResourceMethod(JaxRsAnnotationScanner.java:441)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.lambda$processResourceMethods$0(JaxRsAnnotationScanner.java:277)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.processResourceMethods(JaxRsAnnotationScanner.java:275)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.processResourceClass(JaxRsAnnotationScanner.java:245)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.processResourceClasses(JaxRsAnnotationScanner.java:220)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.scan(JaxRsAnnotationScanner.java:152)
	at io.smallrye.openapi.runtime.scanner.OpenApiAnnotationScanner.scan(OpenApiAnnotationScanner.java:127)
	at io.quarkus.smallrye.openapi.deployment.SmallRyeOpenApiProcessor.generateAnnotationModel(SmallRyeOpenApiProcessor.java:705)
	at io.quarkus.smallrye.openapi.deployment.SmallRyeOpenApiProcessor.build(SmallRyeOpenApiProcessor.java:563)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:820)
	at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
	at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
	at java.base/java.lang.Thread.run(Thread.java:833)
	at org.jboss.threads.JBossThread.run(JBossThread.java:501)

Caused by: java.lang.RuntimeException: 
io.quarkus.builder.BuildException: Build failure: Build failed due to errors
	[error]: Build step io.quarkus.smallrye.openapi.deployment.SmallRyeOpenApiProcessor#build threw an exception: java.lang.IllegalArgumentException: Not a parameterized type!
	at org.jboss.jandex.Type.asParameterizedType(Type.java:228)
	at io.smallrye.openapi.runtime.scanner.dataobject.TypeResolver.createParameterizedType(TypeResolver.java:1088)
	at io.smallrye.openapi.runtime.scanner.dataobject.TypeResolver.resolveParameterizedAncestor(TypeResolver.java:1073)
	at io.smallrye.openapi.runtime.scanner.OpenApiDataObjectScanner.resolveSpecial(OpenApiDataObjectScanner.java:330)
	at io.smallrye.openapi.runtime.scanner.OpenApiDataObjectScanner.process(OpenApiDataObjectScanner.java:208)
	at io.smallrye.openapi.runtime.scanner.OpenApiDataObjectScanner.process(OpenApiDataObjectScanner.java:159)
	at io.smallrye.openapi.runtime.io.schema.SchemaFactory.otherTypeToSchema(SchemaFactory.java:610)
	at io.smallrye.openapi.runtime.io.schema.SchemaFactory.typeToSchema(SchemaFactory.java:448)
	at io.smallrye.openapi.runtime.scanner.spi.AnnotationScanner.createResponseFromRestMethod(AnnotationScanner.java:423)
	at io.smallrye.openapi.runtime.scanner.spi.AnnotationScanner.processResponse(AnnotationScanner.java:354)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.processResourceMethod(JaxRsAnnotationScanner.java:441)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.lambda$processResourceMethods$0(JaxRsAnnotationScanner.java:277)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.processResourceMethods(JaxRsAnnotationScanner.java:275)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.processResourceClass(JaxRsAnnotationScanner.java:245)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.processResourceClasses(JaxRsAnnotationScanner.java:220)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.scan(JaxRsAnnotationScanner.java:152)
	at io.smallrye.openapi.runtime.scanner.OpenApiAnnotationScanner.scan(OpenApiAnnotationScanner.java:127)
	at io.quarkus.smallrye.openapi.deployment.SmallRyeOpenApiProcessor.generateAnnotationModel(SmallRyeOpenApiProcessor.java:705)
	at io.quarkus.smallrye.openapi.deployment.SmallRyeOpenApiProcessor.build(SmallRyeOpenApiProcessor.java:563)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:820)
	at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
	at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
	at java.base/java.lang.Thread.run(Thread.java:833)
	at org.jboss.threads.JBossThread.run(JBossThread.java:501)

Caused by: io.quarkus.builder.BuildException: 
Build failure: Build failed due to errors
	[error]: Build step io.quarkus.smallrye.openapi.deployment.SmallRyeOpenApiProcessor#build threw an exception: java.lang.IllegalArgumentException: Not a parameterized type!
	at org.jboss.jandex.Type.asParameterizedType(Type.java:228)
	at io.smallrye.openapi.runtime.scanner.dataobject.TypeResolver.createParameterizedType(TypeResolver.java:1088)
	at io.smallrye.openapi.runtime.scanner.dataobject.TypeResolver.resolveParameterizedAncestor(TypeResolver.java:1073)
	at io.smallrye.openapi.runtime.scanner.OpenApiDataObjectScanner.resolveSpecial(OpenApiDataObjectScanner.java:330)
	at io.smallrye.openapi.runtime.scanner.OpenApiDataObjectScanner.process(OpenApiDataObjectScanner.java:208)
	at io.smallrye.openapi.runtime.scanner.OpenApiDataObjectScanner.process(OpenApiDataObjectScanner.java:159)
	at io.smallrye.openapi.runtime.io.schema.SchemaFactory.otherTypeToSchema(SchemaFactory.java:610)
	at io.smallrye.openapi.runtime.io.schema.SchemaFactory.typeToSchema(SchemaFactory.java:448)
	at io.smallrye.openapi.runtime.scanner.spi.AnnotationScanner.createResponseFromRestMethod(AnnotationScanner.java:423)
	at io.smallrye.openapi.runtime.scanner.spi.AnnotationScanner.processResponse(AnnotationScanner.java:354)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.processResourceMethod(JaxRsAnnotationScanner.java:441)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.lambda$processResourceMethods$0(JaxRsAnnotationScanner.java:277)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.processResourceMethods(JaxRsAnnotationScanner.java:275)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.processResourceClass(JaxRsAnnotationScanner.java:245)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.processResourceClasses(JaxRsAnnotationScanner.java:220)
	at io.smallrye.openapi.jaxrs.JaxRsAnnotationScanner.scan(JaxRsAnnotationScanner.java:152)
	at io.smallrye.openapi.runtime.scanner.OpenApiAnnotationScanner.scan(OpenApiAnnotationScanner.java:127)
	at io.quarkus.smallrye.openapi.deployment.SmallRyeOpenApiProcessor.generateAnnotationModel(SmallRyeOpenApiProcessor.java:705)
	at io.quarkus.smallrye.openapi.deployment.SmallRyeOpenApiProcessor.build(SmallRyeOpenApiProcessor.java:563)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:820)
	at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
	at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
	at java.base/java.lang.Thread.run(Thread.java:833)
	at org.jboss.threads.JBossThread.run(JBossThread.java:501)

Caused by: java.lang.IllegalArgumentException: Not a parameterized type!

created time in a month

issue commentquarkusio/quarkus

can't create mysql trigger in dev container

Quarkus uses jdbc:mysql://localhost:PORT instead of jdbc:tc:mysql:VERSION://hostname/, I guess this is why TC_MY_CNF doesn't work: https://www.testcontainers.org/modules/databases/mysql/

Dieken

comment created time in a month

issue closedrust-leipzig/regex-performance

building fails due to master branch rename of google/re2

I bypass this issue by cloning google/re2 to my own repository and rename branch main to master.

This Dieken/re2 is only for temporary test.

diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt
index 22c0a50..2572c6a 100644
--- a/vendor/CMakeLists.txt
+++ b/vendor/CMakeLists.txt
@@ -90,7 +90,7 @@ AddExternalProject(
 AddExternalProject(
     "re2"
     "re2"
-    "https://github.com/google/re2.git"
+    "https://github.com/Dieken/re2.git"
     -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_SOURCE_DIR}/local
 )

For your record, here is my test output, thank you very much for your benchmark test suite.

### macOS Big Sur, 11.2.3, MacBook Pro(16-inch, 2019)
### 2.3 GHz 8-Core Intel Core i9, 64 GB 2667 MHz DDR4 Memory

$ uname -a
Darwin XXX 20.3.0 Darwin Kernel Version 20.3.0: Thu Jan 21 00:07:06 PST 2021; root:xnu-7195.81.3~1/RELEASE_X86_64 x86_64

$ ./src/regex_perf -f ../3200.txt -o ./results.csv
'../3200.txt' loaded. (Length: 16013977 bytes)
-----------------
Regex: 'Twain'
[      pcre] time:     2.8 ms (+/-  4.2 %), matches:      811
[  pcre-dfa] time:     8.5 ms (+/- 17.1 %), matches:      811
[  pcre-jit] time:    11.7 ms (+/-  3.6 %), matches:      811
[       re2] time:     1.5 ms (+/- 11.0 %), matches:      811
[      onig] time:    12.8 ms (+/-  6.9 %), matches:      811
[       tre] time:   250.4 ms (+/-  8.2 %), matches:      811
[     hscan] time:     0.9 ms (+/- 30.5 %), matches:      811
[rust_regex] time:     0.9 ms (+/- 31.4 %), matches:      811
[rust_regrs] time:    11.6 ms (+/-  5.2 %), matches:      811
-----------------
Regex: '(?i)Twain'
[      pcre] time:    43.2 ms (+/-  5.4 %), matches:      965
[  pcre-dfa] time:    56.9 ms (+/-  2.1 %), matches:      965
[  pcre-jit] time:    11.3 ms (+/-  9.7 %), matches:      965
[       re2] time:     7.8 ms (+/- 10.2 %), matches:      965
[      onig] time:    56.5 ms (+/-  6.3 %), matches:      965
[       tre] time:   314.1 ms (+/-  1.2 %), matches:      965
[     hscan] time:     1.0 ms (+/- 24.6 %), matches:      965
[rust_regex] time:     1.8 ms (+/- 18.6 %), matches:      965
[rust_regrs] time:    12.9 ms (+/-  3.1 %), matches:      965
-----------------
Regex: '[a-z]shing'
[      pcre] time:   293.8 ms (+/-  1.4 %), matches:     1540
[  pcre-dfa] time:   472.5 ms (+/-  1.8 %), matches:     1540
[  pcre-jit] time:    10.4 ms (+/-  2.4 %), matches:     1540
[       re2] time:    21.9 ms (+/- 11.4 %), matches:     1540
[      onig] time:    11.7 ms (+/- 17.7 %), matches:     1540
[       tre] time:   331.3 ms (+/-  4.7 %), matches:     1540
[     hscan] time:     3.5 ms (+/- 12.1 %), matches:     1540
[rust_regex] time:     1.9 ms (+/- 10.2 %), matches:     1540
[rust_regrs] time:   146.0 ms (+/-  3.1 %), matches:     1540
-----------------
Regex: 'Huck[a-zA-Z]+|Saw[a-zA-Z]+'
[      pcre] time:    13.7 ms (+/-  3.7 %), matches:      262
[  pcre-dfa] time:    14.7 ms (+/-  5.9 %), matches:      262
[  pcre-jit] time:     1.9 ms (+/- 13.5 %), matches:      262
[       re2] time:    19.4 ms (+/-  7.1 %), matches:      262
[      onig] time:    22.1 ms (+/-  3.2 %), matches:      262
[       tre] time:   398.0 ms (+/-  1.1 %), matches:      262
[     hscan] time:     1.6 ms (+/-  5.9 %), matches:      977
[rust_regex] time:     1.8 ms (+/- 18.9 %), matches:      262
[rust_regrs] time:     1.8 ms (+/- 11.5 %), matches:      262
-----------------
Regex: '\b\w+nn\b'
[      pcre] time:   407.9 ms (+/-  6.0 %), matches:      262
[  pcre-dfa] time:   606.5 ms (+/-  1.3 %), matches:      262
[  pcre-jit] time:    63.2 ms (+/-  3.0 %), matches:      262
[       re2] time:    19.2 ms (+/-  4.1 %), matches:      262
[      onig] time:   483.3 ms (+/-  2.0 %), matches:      262
[       tre] time:   462.6 ms (+/-  1.6 %), matches:      262
[     hscan] time:    75.6 ms (+/-  2.0 %), matches:      262
[rust_regex] time:   116.9 ms (+/-  3.3 %), matches:      262
[rust_regrs] time:   228.7 ms (+/-  5.7 %), matches:      262
-----------------
Regex: '[a-q][^u-z]{13}x'
[      pcre] time:   337.6 ms (+/-  0.5 %), matches:     4094
[  pcre-dfa] time:  1243.2 ms (+/-  1.6 %), matches:     4094
[  pcre-jit] time:     1.6 ms (+/- 28.6 %), matches:     4094
[       re2] time:    99.5 ms (+/- 11.3 %), matches:     4094
[      onig] time:    26.0 ms (+/-  9.0 %), matches:     4094
[       tre] time:   819.3 ms (+/-  1.8 %), matches:     4094
[     hscan] time:    38.5 ms (+/-  3.2 %), matches:     4094
[rust_regex] time:  2177.0 ms (+/-  1.9 %), matches:     4094
[rust_regrs] time:   481.9 ms (+/-  1.5 %), matches:     4094
-----------------
Regex: 'Tom|Sawyer|Huckleberry|Finn'
[      pcre] time:    17.9 ms (+/-  4.3 %), matches:     2598
[  pcre-dfa] time:    19.0 ms (+/-  3.4 %), matches:     2598
[  pcre-jit] time:    20.3 ms (+/-  3.0 %), matches:     2598
[       re2] time:    19.5 ms (+/-  4.5 %), matches:     2598
[      onig] time:    26.6 ms (+/-  4.2 %), matches:     2598
[       tre] time:   678.3 ms (+/-  1.2 %), matches:     2598
[     hscan] time:     2.0 ms (+/-  7.7 %), matches:     2598
[rust_regex] time:     1.9 ms (+/- 22.4 %), matches:     2598
[rust_regrs] time:    13.3 ms (+/-  2.6 %), matches:     2598
-----------------
Regex: '(?i)Tom|Sawyer|Huckleberry|Finn'
[      pcre] time:   211.0 ms (+/-  8.4 %), matches:     4152
[  pcre-dfa] time:   241.1 ms (+/-  7.9 %), matches:     4152
[  pcre-jit] time:    60.9 ms (+/-  5.0 %), matches:     4152
[       re2] time:    21.3 ms (+/-  6.1 %), matches:     4152
[      onig] time:   186.0 ms (+/-  4.4 %), matches:     4152
[       tre] time:  1085.0 ms (+/-  3.8 %), matches:     4152
[     hscan] time:     2.0 ms (+/-  9.4 %), matches:     4152
[rust_regex] time:     3.8 ms (+/- 10.8 %), matches:     4152
[rust_regrs] time:   123.4 ms (+/-  2.0 %), matches:     4152
-----------------
Regex: '.{0,2}(Tom|Sawyer|Huckleberry|Finn)'
[      pcre] time:  2230.9 ms (+/-  3.6 %), matches:     2598
[  pcre-dfa] time:  2066.0 ms (+/-  0.5 %), matches:     2598
[  pcre-jit] time:   189.7 ms (+/-  4.0 %), matches:     2598
[       re2] time:    19.5 ms (+/-  2.7 %), matches:     2598
[      onig] time:    47.8 ms (+/-  2.9 %), matches:     2598
[       tre] time:  1644.5 ms (+/-  1.2 %), matches:     2598
[     hscan] time:     2.0 ms (+/-  7.9 %), matches:     2598
[rust_regex] time:    23.1 ms (+/-  4.0 %), matches:     2598
[rust_regrs] time:  1073.8 ms (+/-  5.3 %), matches:     2598
-----------------
Regex: '.{2,4}(Tom|Sawyer|Huckleberry|Finn)'
[      pcre] time:  2225.3 ms (+/-  0.9 %), matches:     1976
[  pcre-dfa] time:  2453.6 ms (+/-  0.8 %), matches:     1976
[  pcre-jit] time:   240.5 ms (+/-  1.0 %), matches:     1976
[       re2] time:    19.2 ms (+/-  4.6 %), matches:     1976
[      onig] time:    47.4 ms (+/-  3.7 %), matches:     1976
[       tre] time:  2328.5 ms (+/-  1.7 %), matches:     1976
[     hscan] time:     2.2 ms (+/- 12.5 %), matches:     2598
[rust_regex] time:    23.3 ms (+/-  5.6 %), matches:     1976
[rust_regrs] time:  1078.8 ms (+/-  1.2 %), matches:     1976
-----------------
Regex: 'Tom.{10,25}river|river.{10,25}Tom'
[      pcre] time:    39.9 ms (+/-  3.3 %), matches:        2
[  pcre-dfa] time:    48.0 ms (+/-  5.3 %), matches:        2
[  pcre-jit] time:     9.9 ms (+/-  2.3 %), matches:        2
[       re2] time:    19.5 ms (+/-  5.3 %), matches:        2
[      onig] time:    42.8 ms (+/-  2.1 %), matches:        2
[       tre] time:   446.2 ms (+/-  2.3 %), matches:        2
[     hscan] time:     1.4 ms (+/-  4.1 %), matches:        4
[rust_regex] time:     2.7 ms (+/- 33.0 %), matches:        2
[rust_regrs] time:    11.6 ms (+/-  4.5 %), matches:        2
-----------------
Regex: '[a-zA-Z]+ing'
[      pcre] time:   624.2 ms (+/-  2.6 %), matches:    78424
[  pcre-dfa] time:  1018.5 ms (+/-  0.8 %), matches:    78424
[  pcre-jit] time:    54.0 ms (+/-  1.9 %), matches:    78424
[       re2] time:    30.0 ms (+/-  3.9 %), matches:    78424
[      onig] time:   415.6 ms (+/-  1.7 %), matches:    78424
[       tre] time:   399.8 ms (+/-  6.7 %), matches:    78424
[     hscan] time:    10.0 ms (+/-  1.8 %), matches:    78872
[rust_regex] time:     8.2 ms (+/-  3.1 %), matches:    78424
[rust_regrs] time:   342.7 ms (+/-  2.7 %), matches:    78424
-----------------
Regex: '\s[a-zA-Z]{0,12}ing\s'
[      pcre] time:   263.2 ms (+/-  1.5 %), matches:    55248
[  pcre-dfa] time:   397.3 ms (+/-  1.4 %), matches:    55248
[  pcre-jit] time:    67.6 ms (+/-  2.0 %), matches:    55248
[       re2] time:    27.0 ms (+/-  4.6 %), matches:    55248
[      onig] time:    43.8 ms (+/-  2.6 %), matches:    55248
[       tre] time:   556.6 ms (+/-  1.1 %), matches:    55248
[     hscan] time:    12.9 ms (+/-  2.4 %), matches:    55640
[rust_regex] time:    28.6 ms (+/-  5.6 %), matches:    55248
[rust_regrs] time:   178.8 ms (+/-  1.8 %), matches:    55248
-----------------
Regex: '([A-Za-z]awyer|[A-Za-z]inn)\s'
[      pcre] time:   548.9 ms (+/-  2.2 %), matches:      209
[  pcre-dfa] time:   679.8 ms (+/-  0.6 %), matches:      209
[  pcre-jit] time:    24.5 ms (+/-  9.3 %), matches:      209
[       re2] time:    21.4 ms (+/-  8.0 %), matches:      209
[      onig] time:   104.4 ms (+/-  4.1 %), matches:      209
[       tre] time:   634.7 ms (+/-  2.2 %), matches:      209
[     hscan] time:     3.3 ms (+/-  4.6 %), matches:      209
[rust_regex] time:    22.9 ms (+/-  4.6 %), matches:      209
[rust_regrs] time:   256.0 ms (+/-  2.9 %), matches:      209
-----------------
Regex: '["'][^"']{0,30}[?!\.]["']'
[      pcre] time:    35.9 ms (+/-  2.5 %), matches:     8886
[  pcre-dfa] time:    54.8 ms (+/-  6.7 %), matches:     8886
[  pcre-jit] time:     7.0 ms (+/-  4.5 %), matches:     8886
[       re2] time:    21.7 ms (+/-  6.0 %), matches:     8886
[      onig] time:    45.6 ms (+/-  2.4 %), matches:     8886
[       tre] time:   332.5 ms (+/-  1.5 %), matches:     8886
[     hscan] time:     8.8 ms (+/-  3.0 %), matches:     8898
[rust_regex] time:     6.8 ms (+/-  9.9 %), matches:     8886
[rust_regrs] time:    22.5 ms (+/- 10.3 %), matches:     8886
-----------------
Regex: '∞|✓'
[      pcre] time:     0.7 ms (+/- 35.9 %), matches:        2
[  pcre-dfa] time:     4.2 ms (+/-  7.3 %), matches:        2
[  pcre-jit] time:     1.0 ms (+/- 30.9 %), matches:        2
[       re2] time:     0.7 ms (+/- 16.8 %), matches:        0
[      onig] time:    25.1 ms (+/- 11.8 %), matches:        2
[       tre] time:   392.0 ms (+/-  6.5 %), matches:        2
[     hscan] time:     1.9 ms (+/- 10.7 %), matches:        2
[rust_regex] time:     2.0 ms (+/- 23.1 %), matches:        2
[rust_regrs] time:     0.6 ms (+/- 12.0 %), matches:        2
-----------------
Regex: '\p{Sm}'
[      pcre] time:   288.2 ms (+/-  2.3 %), matches:       68
[  pcre-dfa] time:   397.8 ms (+/-  1.7 %), matches:       68
[  pcre-jit] time:    28.1 ms (+/-  4.3 %), matches:       68
[       re2] time:    19.0 ms (+/-  2.8 %), matches:       68
Onig compilation failed
TRE compilation failed with error 10
[     hscan] time:     1.4 ms (+/- 14.4 %), matches:       68
[rust_regex] time:    23.0 ms (+/-  5.5 %), matches:       69
ERROR: Unable to compile pattern "\p{Sm}"
-----------------
Total Results:
[      pcre] time:   7585.1 ms, score:      3 points,
[  pcre-dfa] time:   9782.5 ms, score:      0 points,
[  pcre-jit] time:    803.7 ms, score:     19 points,
[       re2] time:    388.1 ms, score:     41 points,
[      onig] time:   1597.2 ms, score:      4 points,
[       tre] time:  11073.9 ms, score:      0 points,
[     hscan] time:    168.9 ms, score:     71 points,
[rust_regex] time:   2446.6 ms, score:     55 points,
[rust_regrs] time:   3984.5 ms, score:     11 points,

results.csv:

regex;pcre [ms];pcre-dfa [ms];pcre-jit [ms];re2 [ms];onig [ms];tre [ms];hscan [ms];rust_regex [ms];rust_regrs [ms];pcre [sp];pcre-dfa [sp];pcre-jit [sp];re2 [sp];onig [sp];tre [sp];hscan [sp];rust_regex [sp];rust_regrs [sp];pcre [matches];pcre-dfa [matches];pcre-jit [matches];re2 [matches];onig [matches];tre [matches];hscan [matches];rust_regex [matches];rust_regrs [matches];
Twain;    2.8;    8.5;   11.7;    1.5;   12.8;  250.4;    0.9;    0.9;   11.6;0;0;0;3;0;0;5;4;0;811;811;811;811;811;811;811;811;811;
(?i)Twain;   43.2;   56.9;   11.3;    7.8;   56.5;  314.1;    1.0;    1.8;   12.9;0;0;0;3;0;0;5;4;0;965;965;965;965;965;965;965;965;965;
[a-z]shing;  293.8;  472.5;   10.4;   21.9;   11.7;  331.3;    3.5;    1.9;  146.0;0;0;3;0;0;0;4;5;0;1540;1540;1540;1540;1540;1540;1540;1540;1540;
Huck[a-zA-Z]+|Saw[a-zA-Z]+;   13.7;   14.7;    1.9;   19.4;   22.1;  398.0;    1.6;    1.8;    1.8;0;0;0;0;0;0;5;4;3;262;262;262;262;262;262;977;262;262;
\b\w+nn\b;  407.9;  606.5;   63.2;   19.2;  483.3;  462.6;   75.6;  116.9;  228.7;0;0;4;5;0;0;3;0;0;262;262;262;262;262;262;262;262;262;
[a-q][^u-z]{13}x;  337.6; 1243.2;    1.6;   99.5;   26.0;  819.3;   38.5; 2177.0;  481.9;0;0;5;0;4;0;3;0;0;4094;4094;4094;4094;4094;4094;4094;4094;4094;
Tom|Sawyer|Huckleberry|Finn;   17.9;   19.0;   20.3;   19.5;   26.6;  678.3;    2.0;    1.9;   13.3;0;0;0;0;0;0;4;5;3;2598;2598;2598;2598;2598;2598;2598;2598;2598;
(?i)Tom|Sawyer|Huckleberry|Finn;  211.0;  241.1;   60.9;   21.3;  186.0; 1085.0;    2.0;    3.8;  123.4;0;0;0;3;0;0;5;4;0;4152;4152;4152;4152;4152;4152;4152;4152;4152;
.{0,2}(Tom|Sawyer|Huckleberry|Finn); 2230.9; 2066.0;  189.7;   19.5;   47.8; 1644.5;    2.0;   23.1; 1073.8;0;0;0;4;0;0;5;3;0;2598;2598;2598;2598;2598;2598;2598;2598;2598;
.{2,4}(Tom|Sawyer|Huckleberry|Finn); 2225.3; 2453.6;  240.5;   19.2;   47.4; 2328.5;    2.2;   23.3; 1078.8;0;0;0;4;0;0;5;3;0;1976;1976;1976;1976;1976;1976;2598;1976;1976;
Tom.{10,25}river|river.{10,25}Tom;   39.9;   48.0;    9.9;   19.5;   42.8;  446.2;    1.4;    2.7;   11.6;0;0;3;0;0;0;5;4;0;2;2;2;2;2;2;4;2;2;
[a-zA-Z]+ing;  624.2; 1018.5;   54.0;   30.0;  415.6;  399.8;   10.0;    8.2;  342.7;0;0;0;3;0;0;4;5;0;78424;78424;78424;78424;78424;78424;78872;78424;78424;
\s[a-zA-Z]{0,12}ing\s;  263.2;  397.3;   67.6;   27.0;   43.8;  556.6;   12.9;   28.6;  178.8;0;0;0;4;0;0;5;3;0;55248;55248;55248;55248;55248;55248;55640;55248;55248;
([A-Za-z]awyer|[A-Za-z]inn)\s;  548.9;  679.8;   24.5;   21.4;  104.4;  634.7;    3.3;   22.9;  256.0;0;0;0;4;0;0;5;3;0;209;209;209;209;209;209;209;209;209;
["'][^"']{0,30}[?!\.]["'];   35.9;   54.8;    7.0;   21.7;   45.6;  332.5;    8.8;    6.8;   22.5;0;0;4;0;0;0;3;5;0;8886;8886;8886;8886;8886;8886;8898;8886;8886;
∞|✓;    0.7;    4.2;    1.0;    0.7;   25.1;  392.0;    1.9;    2.0;    0.6;3;0;0;4;0;0;0;0;5;2;2;2;0;2;2;2;2;2;
\p{Sm};  288.2;  397.8;   28.1;   19.0;    0.0;    0.0;    1.4;   23.0;    0.0;0;0;0;4;0;0;5;3;0;68;68;68;68;0;0;68;69;0;

closed time in 2 months

Dieken

startedrabbibotton/clog

started time in 2 months

startedcomby-tools/comby

started time in 2 months

startedrust-leipzig/regex-performance

started time in 2 months

issue commentrust-leipzig/regex-performance

building fails due to master branch rename of google/re2

hscan is strange, it gets different count of matches.

Dieken

comment created time in 2 months

issue openedrust-leipzig/regex-performance

building fails due to master branch rename of google/re2

I bypass this issue by cloning google/re2 to my own repository and rename branch main to master.

This Dieken/re2 is only for temporary test.

diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt
index 22c0a50..2572c6a 100644
--- a/vendor/CMakeLists.txt
+++ b/vendor/CMakeLists.txt
@@ -90,7 +90,7 @@ AddExternalProject(
 AddExternalProject(
     "re2"
     "re2"
-    "https://github.com/google/re2.git"
+    "https://github.com/Dieken/re2.git"
     -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_SOURCE_DIR}/local
 )

For your record, here is my test output, thank you very much for your benchmark test suite.

$ ./src/regex_perf -f ../3200.txt -o ./results.csv
'../3200.txt' loaded. (Length: 16013977 bytes)
-----------------
Regex: 'Twain'
[      pcre] time:     2.8 ms (+/-  4.2 %), matches:      811
[  pcre-dfa] time:     8.5 ms (+/- 17.1 %), matches:      811
[  pcre-jit] time:    11.7 ms (+/-  3.6 %), matches:      811
[       re2] time:     1.5 ms (+/- 11.0 %), matches:      811
[      onig] time:    12.8 ms (+/-  6.9 %), matches:      811
[       tre] time:   250.4 ms (+/-  8.2 %), matches:      811
[     hscan] time:     0.9 ms (+/- 30.5 %), matches:      811
[rust_regex] time:     0.9 ms (+/- 31.4 %), matches:      811
[rust_regrs] time:    11.6 ms (+/-  5.2 %), matches:      811
-----------------
Regex: '(?i)Twain'
[      pcre] time:    43.2 ms (+/-  5.4 %), matches:      965
[  pcre-dfa] time:    56.9 ms (+/-  2.1 %), matches:      965
[  pcre-jit] time:    11.3 ms (+/-  9.7 %), matches:      965
[       re2] time:     7.8 ms (+/- 10.2 %), matches:      965
[      onig] time:    56.5 ms (+/-  6.3 %), matches:      965
[       tre] time:   314.1 ms (+/-  1.2 %), matches:      965
[     hscan] time:     1.0 ms (+/- 24.6 %), matches:      965
[rust_regex] time:     1.8 ms (+/- 18.6 %), matches:      965
[rust_regrs] time:    12.9 ms (+/-  3.1 %), matches:      965
-----------------
Regex: '[a-z]shing'
[      pcre] time:   293.8 ms (+/-  1.4 %), matches:     1540
[  pcre-dfa] time:   472.5 ms (+/-  1.8 %), matches:     1540
[  pcre-jit] time:    10.4 ms (+/-  2.4 %), matches:     1540
[       re2] time:    21.9 ms (+/- 11.4 %), matches:     1540
[      onig] time:    11.7 ms (+/- 17.7 %), matches:     1540
[       tre] time:   331.3 ms (+/-  4.7 %), matches:     1540
[     hscan] time:     3.5 ms (+/- 12.1 %), matches:     1540
[rust_regex] time:     1.9 ms (+/- 10.2 %), matches:     1540
[rust_regrs] time:   146.0 ms (+/-  3.1 %), matches:     1540
-----------------
Regex: 'Huck[a-zA-Z]+|Saw[a-zA-Z]+'
[      pcre] time:    13.7 ms (+/-  3.7 %), matches:      262
[  pcre-dfa] time:    14.7 ms (+/-  5.9 %), matches:      262
[  pcre-jit] time:     1.9 ms (+/- 13.5 %), matches:      262
[       re2] time:    19.4 ms (+/-  7.1 %), matches:      262
[      onig] time:    22.1 ms (+/-  3.2 %), matches:      262
[       tre] time:   398.0 ms (+/-  1.1 %), matches:      262
[     hscan] time:     1.6 ms (+/-  5.9 %), matches:      977
[rust_regex] time:     1.8 ms (+/- 18.9 %), matches:      262
[rust_regrs] time:     1.8 ms (+/- 11.5 %), matches:      262
-----------------
Regex: '\b\w+nn\b'
[      pcre] time:   407.9 ms (+/-  6.0 %), matches:      262
[  pcre-dfa] time:   606.5 ms (+/-  1.3 %), matches:      262
[  pcre-jit] time:    63.2 ms (+/-  3.0 %), matches:      262
[       re2] time:    19.2 ms (+/-  4.1 %), matches:      262
[      onig] time:   483.3 ms (+/-  2.0 %), matches:      262
[       tre] time:   462.6 ms (+/-  1.6 %), matches:      262
[     hscan] time:    75.6 ms (+/-  2.0 %), matches:      262
[rust_regex] time:   116.9 ms (+/-  3.3 %), matches:      262
[rust_regrs] time:   228.7 ms (+/-  5.7 %), matches:      262
-----------------
Regex: '[a-q][^u-z]{13}x'
[      pcre] time:   337.6 ms (+/-  0.5 %), matches:     4094
[  pcre-dfa] time:  1243.2 ms (+/-  1.6 %), matches:     4094
[  pcre-jit] time:     1.6 ms (+/- 28.6 %), matches:     4094
[       re2] time:    99.5 ms (+/- 11.3 %), matches:     4094
[      onig] time:    26.0 ms (+/-  9.0 %), matches:     4094
[       tre] time:   819.3 ms (+/-  1.8 %), matches:     4094
[     hscan] time:    38.5 ms (+/-  3.2 %), matches:     4094
[rust_regex] time:  2177.0 ms (+/-  1.9 %), matches:     4094
[rust_regrs] time:   481.9 ms (+/-  1.5 %), matches:     4094
-----------------
Regex: 'Tom|Sawyer|Huckleberry|Finn'
[      pcre] time:    17.9 ms (+/-  4.3 %), matches:     2598
[  pcre-dfa] time:    19.0 ms (+/-  3.4 %), matches:     2598
[  pcre-jit] time:    20.3 ms (+/-  3.0 %), matches:     2598
[       re2] time:    19.5 ms (+/-  4.5 %), matches:     2598
[      onig] time:    26.6 ms (+/-  4.2 %), matches:     2598
[       tre] time:   678.3 ms (+/-  1.2 %), matches:     2598
[     hscan] time:     2.0 ms (+/-  7.7 %), matches:     2598
[rust_regex] time:     1.9 ms (+/- 22.4 %), matches:     2598
[rust_regrs] time:    13.3 ms (+/-  2.6 %), matches:     2598
-----------------
Regex: '(?i)Tom|Sawyer|Huckleberry|Finn'
[      pcre] time:   211.0 ms (+/-  8.4 %), matches:     4152
[  pcre-dfa] time:   241.1 ms (+/-  7.9 %), matches:     4152
[  pcre-jit] time:    60.9 ms (+/-  5.0 %), matches:     4152
[       re2] time:    21.3 ms (+/-  6.1 %), matches:     4152
[      onig] time:   186.0 ms (+/-  4.4 %), matches:     4152
[       tre] time:  1085.0 ms (+/-  3.8 %), matches:     4152
[     hscan] time:     2.0 ms (+/-  9.4 %), matches:     4152
[rust_regex] time:     3.8 ms (+/- 10.8 %), matches:     4152
[rust_regrs] time:   123.4 ms (+/-  2.0 %), matches:     4152
-----------------
Regex: '.{0,2}(Tom|Sawyer|Huckleberry|Finn)'
[      pcre] time:  2230.9 ms (+/-  3.6 %), matches:     2598
[  pcre-dfa] time:  2066.0 ms (+/-  0.5 %), matches:     2598
[  pcre-jit] time:   189.7 ms (+/-  4.0 %), matches:     2598
[       re2] time:    19.5 ms (+/-  2.7 %), matches:     2598
[      onig] time:    47.8 ms (+/-  2.9 %), matches:     2598
[       tre] time:  1644.5 ms (+/-  1.2 %), matches:     2598
[     hscan] time:     2.0 ms (+/-  7.9 %), matches:     2598
[rust_regex] time:    23.1 ms (+/-  4.0 %), matches:     2598
[rust_regrs] time:  1073.8 ms (+/-  5.3 %), matches:     2598
-----------------
Regex: '.{2,4}(Tom|Sawyer|Huckleberry|Finn)'
[      pcre] time:  2225.3 ms (+/-  0.9 %), matches:     1976
[  pcre-dfa] time:  2453.6 ms (+/-  0.8 %), matches:     1976
[  pcre-jit] time:   240.5 ms (+/-  1.0 %), matches:     1976
[       re2] time:    19.2 ms (+/-  4.6 %), matches:     1976
[      onig] time:    47.4 ms (+/-  3.7 %), matches:     1976
[       tre] time:  2328.5 ms (+/-  1.7 %), matches:     1976
[     hscan] time:     2.2 ms (+/- 12.5 %), matches:     2598
[rust_regex] time:    23.3 ms (+/-  5.6 %), matches:     1976
[rust_regrs] time:  1078.8 ms (+/-  1.2 %), matches:     1976
-----------------
Regex: 'Tom.{10,25}river|river.{10,25}Tom'
[      pcre] time:    39.9 ms (+/-  3.3 %), matches:        2
[  pcre-dfa] time:    48.0 ms (+/-  5.3 %), matches:        2
[  pcre-jit] time:     9.9 ms (+/-  2.3 %), matches:        2
[       re2] time:    19.5 ms (+/-  5.3 %), matches:        2
[      onig] time:    42.8 ms (+/-  2.1 %), matches:        2
[       tre] time:   446.2 ms (+/-  2.3 %), matches:        2
[     hscan] time:     1.4 ms (+/-  4.1 %), matches:        4
[rust_regex] time:     2.7 ms (+/- 33.0 %), matches:        2
[rust_regrs] time:    11.6 ms (+/-  4.5 %), matches:        2
-----------------
Regex: '[a-zA-Z]+ing'
[      pcre] time:   624.2 ms (+/-  2.6 %), matches:    78424
[  pcre-dfa] time:  1018.5 ms (+/-  0.8 %), matches:    78424
[  pcre-jit] time:    54.0 ms (+/-  1.9 %), matches:    78424
[       re2] time:    30.0 ms (+/-  3.9 %), matches:    78424
[      onig] time:   415.6 ms (+/-  1.7 %), matches:    78424
[       tre] time:   399.8 ms (+/-  6.7 %), matches:    78424
[     hscan] time:    10.0 ms (+/-  1.8 %), matches:    78872
[rust_regex] time:     8.2 ms (+/-  3.1 %), matches:    78424
[rust_regrs] time:   342.7 ms (+/-  2.7 %), matches:    78424
-----------------
Regex: '\s[a-zA-Z]{0,12}ing\s'
[      pcre] time:   263.2 ms (+/-  1.5 %), matches:    55248
[  pcre-dfa] time:   397.3 ms (+/-  1.4 %), matches:    55248
[  pcre-jit] time:    67.6 ms (+/-  2.0 %), matches:    55248
[       re2] time:    27.0 ms (+/-  4.6 %), matches:    55248
[      onig] time:    43.8 ms (+/-  2.6 %), matches:    55248
[       tre] time:   556.6 ms (+/-  1.1 %), matches:    55248
[     hscan] time:    12.9 ms (+/-  2.4 %), matches:    55640
[rust_regex] time:    28.6 ms (+/-  5.6 %), matches:    55248
[rust_regrs] time:   178.8 ms (+/-  1.8 %), matches:    55248
-----------------
Regex: '([A-Za-z]awyer|[A-Za-z]inn)\s'
[      pcre] time:   548.9 ms (+/-  2.2 %), matches:      209
[  pcre-dfa] time:   679.8 ms (+/-  0.6 %), matches:      209
[  pcre-jit] time:    24.5 ms (+/-  9.3 %), matches:      209
[       re2] time:    21.4 ms (+/-  8.0 %), matches:      209
[      onig] time:   104.4 ms (+/-  4.1 %), matches:      209
[       tre] time:   634.7 ms (+/-  2.2 %), matches:      209
[     hscan] time:     3.3 ms (+/-  4.6 %), matches:      209
[rust_regex] time:    22.9 ms (+/-  4.6 %), matches:      209
[rust_regrs] time:   256.0 ms (+/-  2.9 %), matches:      209
-----------------
Regex: '["'][^"']{0,30}[?!\.]["']'
[      pcre] time:    35.9 ms (+/-  2.5 %), matches:     8886
[  pcre-dfa] time:    54.8 ms (+/-  6.7 %), matches:     8886
[  pcre-jit] time:     7.0 ms (+/-  4.5 %), matches:     8886
[       re2] time:    21.7 ms (+/-  6.0 %), matches:     8886
[      onig] time:    45.6 ms (+/-  2.4 %), matches:     8886
[       tre] time:   332.5 ms (+/-  1.5 %), matches:     8886
[     hscan] time:     8.8 ms (+/-  3.0 %), matches:     8898
[rust_regex] time:     6.8 ms (+/-  9.9 %), matches:     8886
[rust_regrs] time:    22.5 ms (+/- 10.3 %), matches:     8886
-----------------
Regex: '∞|✓'
[      pcre] time:     0.7 ms (+/- 35.9 %), matches:        2
[  pcre-dfa] time:     4.2 ms (+/-  7.3 %), matches:        2
[  pcre-jit] time:     1.0 ms (+/- 30.9 %), matches:        2
[       re2] time:     0.7 ms (+/- 16.8 %), matches:        0
[      onig] time:    25.1 ms (+/- 11.8 %), matches:        2
[       tre] time:   392.0 ms (+/-  6.5 %), matches:        2
[     hscan] time:     1.9 ms (+/- 10.7 %), matches:        2
[rust_regex] time:     2.0 ms (+/- 23.1 %), matches:        2
[rust_regrs] time:     0.6 ms (+/- 12.0 %), matches:        2
-----------------
Regex: '\p{Sm}'
[      pcre] time:   288.2 ms (+/-  2.3 %), matches:       68
[  pcre-dfa] time:   397.8 ms (+/-  1.7 %), matches:       68
[  pcre-jit] time:    28.1 ms (+/-  4.3 %), matches:       68
[       re2] time:    19.0 ms (+/-  2.8 %), matches:       68
Onig compilation failed
TRE compilation failed with error 10
[     hscan] time:     1.4 ms (+/- 14.4 %), matches:       68
[rust_regex] time:    23.0 ms (+/-  5.5 %), matches:       69
ERROR: Unable to compile pattern "\p{Sm}"
-----------------
Total Results:
[      pcre] time:   7585.1 ms, score:      3 points,
[  pcre-dfa] time:   9782.5 ms, score:      0 points,
[  pcre-jit] time:    803.7 ms, score:     19 points,
[       re2] time:    388.1 ms, score:     41 points,
[      onig] time:   1597.2 ms, score:      4 points,
[       tre] time:  11073.9 ms, score:      0 points,
[     hscan] time:    168.9 ms, score:     71 points,
[rust_regex] time:   2446.6 ms, score:     55 points,
[rust_regrs] time:   3984.5 ms, score:     11 points,

results.csv:

regex;pcre [ms];pcre-dfa [ms];pcre-jit [ms];re2 [ms];onig [ms];tre [ms];hscan [ms];rust_regex [ms];rust_regrs [ms];pcre [sp];pcre-dfa [sp];pcre-jit [sp];re2 [sp];onig [sp];tre [sp];hscan [sp];rust_regex [sp];rust_regrs [sp];pcre [matches];pcre-dfa [matches];pcre-jit [matches];re2 [matches];onig [matches];tre [matches];hscan [matches];rust_regex [matches];rust_regrs [matches];
Twain;    2.8;    8.5;   11.7;    1.5;   12.8;  250.4;    0.9;    0.9;   11.6;0;0;0;3;0;0;5;4;0;811;811;811;811;811;811;811;811;811;
(?i)Twain;   43.2;   56.9;   11.3;    7.8;   56.5;  314.1;    1.0;    1.8;   12.9;0;0;0;3;0;0;5;4;0;965;965;965;965;965;965;965;965;965;
[a-z]shing;  293.8;  472.5;   10.4;   21.9;   11.7;  331.3;    3.5;    1.9;  146.0;0;0;3;0;0;0;4;5;0;1540;1540;1540;1540;1540;1540;1540;1540;1540;
Huck[a-zA-Z]+|Saw[a-zA-Z]+;   13.7;   14.7;    1.9;   19.4;   22.1;  398.0;    1.6;    1.8;    1.8;0;0;0;0;0;0;5;4;3;262;262;262;262;262;262;977;262;262;
\b\w+nn\b;  407.9;  606.5;   63.2;   19.2;  483.3;  462.6;   75.6;  116.9;  228.7;0;0;4;5;0;0;3;0;0;262;262;262;262;262;262;262;262;262;
[a-q][^u-z]{13}x;  337.6; 1243.2;    1.6;   99.5;   26.0;  819.3;   38.5; 2177.0;  481.9;0;0;5;0;4;0;3;0;0;4094;4094;4094;4094;4094;4094;4094;4094;4094;
Tom|Sawyer|Huckleberry|Finn;   17.9;   19.0;   20.3;   19.5;   26.6;  678.3;    2.0;    1.9;   13.3;0;0;0;0;0;0;4;5;3;2598;2598;2598;2598;2598;2598;2598;2598;2598;
(?i)Tom|Sawyer|Huckleberry|Finn;  211.0;  241.1;   60.9;   21.3;  186.0; 1085.0;    2.0;    3.8;  123.4;0;0;0;3;0;0;5;4;0;4152;4152;4152;4152;4152;4152;4152;4152;4152;
.{0,2}(Tom|Sawyer|Huckleberry|Finn); 2230.9; 2066.0;  189.7;   19.5;   47.8; 1644.5;    2.0;   23.1; 1073.8;0;0;0;4;0;0;5;3;0;2598;2598;2598;2598;2598;2598;2598;2598;2598;
.{2,4}(Tom|Sawyer|Huckleberry|Finn); 2225.3; 2453.6;  240.5;   19.2;   47.4; 2328.5;    2.2;   23.3; 1078.8;0;0;0;4;0;0;5;3;0;1976;1976;1976;1976;1976;1976;2598;1976;1976;
Tom.{10,25}river|river.{10,25}Tom;   39.9;   48.0;    9.9;   19.5;   42.8;  446.2;    1.4;    2.7;   11.6;0;0;3;0;0;0;5;4;0;2;2;2;2;2;2;4;2;2;
[a-zA-Z]+ing;  624.2; 1018.5;   54.0;   30.0;  415.6;  399.8;   10.0;    8.2;  342.7;0;0;0;3;0;0;4;5;0;78424;78424;78424;78424;78424;78424;78872;78424;78424;
\s[a-zA-Z]{0,12}ing\s;  263.2;  397.3;   67.6;   27.0;   43.8;  556.6;   12.9;   28.6;  178.8;0;0;0;4;0;0;5;3;0;55248;55248;55248;55248;55248;55248;55640;55248;55248;
([A-Za-z]awyer|[A-Za-z]inn)\s;  548.9;  679.8;   24.5;   21.4;  104.4;  634.7;    3.3;   22.9;  256.0;0;0;0;4;0;0;5;3;0;209;209;209;209;209;209;209;209;209;
["'][^"']{0,30}[?!\.]["'];   35.9;   54.8;    7.0;   21.7;   45.6;  332.5;    8.8;    6.8;   22.5;0;0;4;0;0;0;3;5;0;8886;8886;8886;8886;8886;8886;8898;8886;8886;
∞|✓;    0.7;    4.2;    1.0;    0.7;   25.1;  392.0;    1.9;    2.0;    0.6;3;0;0;4;0;0;0;0;5;2;2;2;0;2;2;2;2;2;
\p{Sm};  288.2;  397.8;   28.1;   19.0;    0.0;    0.0;    1.4;   23.0;    0.0;0;0;0;4;0;0;5;3;0;68;68;68;68;0;0;68;69;0;

created time in 2 months

create barnchDieken/re2

branch : master

created branch time in 2 months

delete branch Dieken/re2

delete branch : main

delete time in 2 months

fork Dieken/re2

RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.

fork in 2 months

issue commentnim-lang/Nim

"zig cc" can't be used with "nim c --cc:env"

That workaround does work, thanks!

It's better if CC can be a command, for example, "ccache cc".

Dieken

comment created time in 2 months

issue openednim-lang/Nim

"zig cc" can't be used with "nim c --cc:env"

CC="zig cc -target x86_64-linux-musl" doesn't work:

$ export CC="zig cc -target x86_64-linux-musl"
$ nim c --cc:env --cpu:amd64 --os:linux -d:release --gc:orc --threads:on src/first.nim
/bin/sh: zig cc -target x86_64-linux-musl: command not found
Error: execution of an external compiler program ''zig cc -target x86_64-linux-musl' -c   -pthread  -O3   -I/usr/local/Cellar/nim/HEAD-0ae2d1e/nim/lib -I/Users/liuyb/tmp/nim/first/src -o /Users/liuyb/.cache/nim/first_r/stdlib_digitsutils.nim.c.o /Users/liuyb/.cache/nim/first_r/stdlib_digitsutils.nim.c' failed with exit code: 127

/bin/sh: zig cc -target x86_64-linux-musl: command not found
/bin/sh: zig cc -target x86_64-linux-musl: command not found
/bin/sh: zig cc -target x86_64-linux-musl: command not found
/bin/sh: zig cc -target x86_64-linux-musl: command not found

CC="zig" also doesn't work:

$ export CC=zig
$ nim c --cc:env --passC:'cc -target x86_64-linux-musl' --passL:'cc -target x86_64-linux-musl' --cpu:amd64 --os:linux -d:release --gc:orc --threads:on src/first.nim

error: unknown command: -c

Error: execution of an external compiler program 'zig -c   -pthread cc -target x86_64-linux-musl  -O3   -I/usr/local/Cellar/nim/HEAD-0ae2d1e/nim/lib -I/Users/liuyb/tmp/nim/first/src -o /Users/liuyb/.cache/nim/first_r/stdlib_system.nim.c.o /Users/liuyb/.cache/nim/first_r/stdlib_system.nim.c' failed with exit code: 1


error: unknown command: -c

Nim version:

$ nim --version
Nim Compiler Version 1.5.1 [MacOSX: amd64]
Compiled at 2021-10-12
Copyright (c) 2006-2021 by Andreas Rumpf

git hash: 0ae2d1ea88fdc7b6910ddbc960c7db086be383e4
active boot switches: -d:release -d:nimUseLinenoise

created time in 2 months

startedgetredash/redash

started time in 2 months

issue openedquarkusio/quarkus

can't create mysql trigger in dev container

Describe the bug

If I put CREATE TRIGGER ... in my Flyway migration sql, quarkus dev will complain:

2021-10-10 21:22:19,770 ERROR [io.qua.run.Application] (Quarkus Main Thread) Failed to start application (with profile dev): java.sql.SQLException: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

According to https://www.testcontainers.org/modules/databases/mysql/, I set these properties but they don't work:

%dev.quarkus.datasource.devservices.properties.TC_MY_CNF=testcontainers/mysql_conf
%test.quarkus.datasource.devservices.properties.TC_MY_CNF=testcontainers/mysql_conf
$ cat src/main/java/testcontainers/mysql_conf/extra.cnf 
[mysqld]
log_bin_trust_function_creators=ON

Expected behavior

The extra.cnf should be mounted into mysql container.

Actual behavior

The extra.cnf isn't mounted into mysql container.

How to Reproduce?

Put some CREATE TRIGGER ... in src/main/resources/db/migration/V1.0.0__init.sql, run quarkus dev to make it create mysql container automatically.

Output of uname -a or ver

Darwin XXX.local 20.3.0 Darwin Kernel Version 20.3.0: Thu Jan 21 00:07:06 PST 2021; root:xnu-7195.81.3~1/RELEASE_X86_64 x86_64

Output of java -version

OpenJDK 64-Bit Server VM AdoptOpenJDK-11.0.11+9 (build 11.0.11+9, mixed mode)

GraalVM version (if different from Java)

No response

Quarkus version or git rev

Client Version 2.3.0.Final

Build tool (ie. output of mvnw --version or gradlew --version)

quarkus dev

Additional information

No response

created time in 2 months

startedappium/appium

started time in 2 months

startednextjournal/clerk-demo

started time in 2 months

startedpink-gorilla/notebook

started time in 2 months

startedclj-easy/graalvm-clojure

started time in 2 months

issue closedakermu/emacs-libvterm

vterm-kill-buffer-on-exit=t doesn't work

Press Ctrl-d in vterm, the shell exits but vterm buffer keeps.

Doom Emacs, emacs 27.2, emacs-libvterm commit 2681120b770573044832ba8c22ccbac192e1a294

closed time in 2 months

Dieken

issue commentakermu/emacs-libvterm

vterm-kill-buffer-on-exit=t doesn't work

Fault of Doom Emacs, upgrading Doom fixed it.

Dieken

comment created time in 2 months

issue openedakermu/emacs-libvterm

vterm-kill-buffer-on-exit=t doesn't work

Press Ctrl-d in vterm, the shell exits but vterm buffer keeps.

Doom Emacs, emacs 27.2, emacs-libvterm commit 2681120b770573044832ba8c22ccbac192e1a294

created time in 2 months

more