Voting: std.logger

via Digitalmars-d digitalmars-d at puremagic.com
Tue Sep 2 08:10:34 PDT 2014


On Tuesday, 2 September 2014 at 14:53:17 UTC, Dicebot wrote:
> If you are going to speak more about abstract performance I am 
> going to simply ignore any of your further posts on topic.

I am not abstract. These are very concrete requirements:

1. You have to be able to determine types and formatting at 
compile time otherwise you cannot do binary logging.

2. You have to be able to determine types and formatting at 
compile time otherwise you cannot minimize the probability of 
introducing run-time errors by turning on full logging.

This is very important use scenarios:

* Performant fine grained logging (as close to zero overhead as 
you get) in libraries and frameworks is essential for fixing 
cloud-based servers where you typically cannot use regular 
strategies. I don't control frameworks, so it is important that 
they use standard lib logging.

* Performant fine grained logging (as close to zero overhead as 
you get) in client side frameworks is essential for fixing online 
game clients that runs on heterogenous hardware since you don't 
get to run a debugger on all configurations.

I don't know enough about what the limitations for advanced 
compile time reflection is, but it has been claimed in this 
thread that the current design does not make it possible to 
establish this at compile time.

Then I have to conclude that the current design cannot be safe 
enough or performant enough to be useful in libraries and 
frameworks and give D an advantage in the server-market...

Risks:

1. If D libraries and frameworks starts using and 
under-performing logger because it is the official D logger 
library, then you cannot ship products with fine grained logging 
based on these framworks. This is a lost opportunity.

2. If phobos includes under-performing libraries then you risk 
having a new split and have two standard libraries and/or two 
incompatible logging frameworks.


More information about the Digitalmars-d mailing list