> > And if you think benchmarks are not
>> > important look at what Linux benchmarks for linux style apps did to
>> > MicroKernels and the not so worthy contenders ( Minix , Herd and Mach)
>>
>> If it was the benchmarks that did it, the benchmarks (along with the
>> reliability benefits) would have been able to win people back.
>> Really, it was about hardware support (which is still *the* problem in
>> esoteric-os space).
>
>
> Umm. I think Jochen and I proved otherwise pretty convinclngly. The issues
> are more subtle than this. But it's a discussion for the Coyotos list, not
> the BitC list.
>
>
I bet the vast majority of non research level Linux professionals to this
day think Micro Kernel = bad which made selling a new micro kernel OS very
hard . The point is not about micro kernels vs macro ( which does belongs
in the other thread) the point is the importance of ill conceived
benchmarks which create a first impression that is very hard to overcome
and messages like the product is not ready or the linux monolithic app is
not how you write apps on a micro kernel were lost . It is worth noting it
was the linux people who wrote most of the benchmarks , if Mach/Minix/Herd
had and optomized a decent set before the linux fans than we would have a
very different OS world now. When you host on the CLR expect C++ , Java ,
Rust and C# devs to write benchmarks comparing BitC.
A great example is C++ benchmarks , that dont use DLLs but for real life
apps the same algorithm is used in a DLL and with virt calls you get much
worse performance ( which is not the case with JIT) .
For BitC to be signifcantly useful over C++ /C# / Java / Rust id like to
see the following bench marks regardless of run time.
Purpose
fair lines of code Language brevity , type system .
A bad measure but not many objective ways to measure it..
IO / string formatting C#/Java string and/ or non fixed
array makes this slow.
Memory array read /write on heap , stack and in region GC Card table
and run length impact .
Parse Web document and create DOM Common operation but C#/Java both
are quite slow at this compared to C . Also test GC pauses and memory
overhead.
Calling busines logic 3 obj deep in DLL with virtcalls Virtcalls and
DLLs are common in real programing but absent in C++/ C benchmarks .
Send and Recieve deserialized Json http packets via custom tcp server
Real middle tier program test , also tests GC/ regions and memory .
As above but store last 4 Gb of messages , test 64 bit , memory usage and
GC pauses
Send messages in proc and via tcp and test latency. Test unmanged /
driver copy overhead , frequent trading are looking for very low latency .
XML or Reg expression parser , the fastest C is about double the speed of
the fastest Java .
Some modern hi perf algoritms Many high performance algorithms
are integer SIMD , C# and Java cant do it .
fake 3D render Test GC pauses and memory
improvements.
I think the product with even just 5 of the features discussed earlier can
do well on this list even on the CLR and hence be compellling for many lib
authors.
Ben
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev