Friday, May 4, 2018

Digest for comp.programming.threads@googlegroups.com - 8 updates in 8 topics

Sky89 <Sky89@sky68.com>: May 04 02:01AM -0400

Hello,
 
I correct some typos because i write fast, please read again..
 
We have to be smart and get on more precision by using logic and measure..
 
You have seen me writing my previous post, but with more precision i
have to define more what i mean by "general" purpose, so like in
philosophy, if we are like rationalism, we will neglect empiricism,
this is the main point also, so we have to know how to be rationalism
and also empiricism, and this is inherent to my definition of what
is general purpose, for example when i say Lockfree algorithms are not
general purpose , first, i mean that the understanding of the mechanism
constrains the definition of general purpose by meaning
that general purpose is general purpose of what is "Lockfree",
so we have not to think the "set" as being not constrained by
the definition of Lockfree, so when i say that Lockfree algorithms
are not general purpose , i mean since there is bigger disadvantages of
Lockfree algorithms, so we can not call them general purpose, and this
apply to compilers or interpreters, if we notice that they come with
bigger noticable disadvantages , so we can start to call them as not
being general purpose, this is my meaning and definition of general
purpose, so this is why you are noticing that we are today learning
many programming languages, because we are understanding the
disadvantages of this or that programming languages, and this
makes us understand that this bigger "complexity" of learning many
programming languages and tools etc. is like returning back to
the complexity of programming with assembler, so now you are capable of
understanding my previous post, here it is:
 
About computer programming..
 
Since we are not capable of designing a compiler or interpreter or the
like that are more suitable for everything in programming, i mean that
are general purpose, and since for example Lockfree algorithms are not
general because they have there advantages and disadvantages etc. so
computer programming today is like returning back more to assembler, i
mean it is like returning back to much more "complexity", for example
you have to be "aware" of the "inside" of Lockfree algorithms to be able
to say that Lockfree algorithms are faster than Lock based algorithms
when there is more and more context switches between threads that uses
the Lockfree algorithms, and by understanding them you have to be
capable of applying them to reality more efficiently because they are
not like general purpose, So now you are understanding my main point,
this is why i wrote before that:
 
Here is the main very important point in computer programming:
 
I think the main point is that you have not to think to work with just
Java or with just Lockfree algorithms and not Lock based algorithms, now
you are able to see my point of view that Java or Lockfree algorithms
are not "general" purpose, so you have to start to enlarge your
conception of our world and be more diversified in computer programming
, this is what we call responsability today.
 
 
Thank you,
Amine Moulay Ramdane.
 
First
Sky89 <Sky89@sky68.com>: May 04 01:55AM -0400

Hello,
 
We have to be smart and get on more precision by using logic and measure..
 
You have seen me writing my previous post, but with more precision i
have to define more what i mean by "general" purpose, so like in
philosophy, if we are like rationalism, we will neglect empiricism,
this is the main point also, so we have to know how to be rationalism
and also empiricism, and this is inherent to my definition of what
is general purpose, for example when i say Lockfree algorithms are not
general purpose , first, i mean that the understanding of the mechanism
constrain the definition of general purpose by meaning
that general purpose is general purpose of what is "Lockfree",
so we have not to think the "set" as being not constrained by
the definition of Lockfree, so when i say that Lockfree algorithms
are not general purpose , i mean since there is bigger disadvantages of
Lockfree algorithms, so we can not call them general purpose, and this
apply to compilers or interpreters, if we notice that they come with
bigger noticable disadvantages , so we can start to call them as not
being general purpose, this is my meaning and definition of general
purpose, so this is why you are noticing that we are today learning
many programming languages, because we are understanding the
disadvantages of this or that programming languages, and this
makes us understand that this bigger "complexity" of learning many
programming languages and tools etc. is like returning back to
the complexity of programming assembler, so now you are capable of
understanding my previous post, here it is:
 
About computer programming..
 
Since we are not capable of designing a compiler or interpreter or the
like that are more suitable for everything in programming, i mean that
are general purpose, and since for example Lockfree algorithms are not
general because they have there advantages and disadvantages etc. so
computer programming today is like returning back more to assembler, i
mean it is like returning back to much more "complexity", for example
you have to be "aware" of the "inside" of Lockfree algorithms to be able
to say that Lockfree algorithms are faster than Lock based algorithms
when there is more and more context switches between threads that uses
the Lockfree algorithms, and by understanding them you have to be
capable of applying them to reality more efficiently because they are
not like general purpose, So now you are understanding my main point,
this is why i wrote before that:
 
Here is the main very important point in computer programming:
 
I think the main point is that you have not to think to work with just
Java or with just Lockfree algorithms and not Lock based algorithms, now
you are able to see my point of view that Java or Lockfree algorithms
are not "general" purpose, so you have to start to enlarge your
conception of our world and be more diversified in computer programming
, this is what we call responsability today.
 
 
Thank you,
Amine Moulay Ramdane.
 
First
Sky89 <Sky89@sky68.com>: May 04 01:18AM -0400

Hello..
 
 
About computer programming..
 
Since we are not capable of designing a compiler or interpreter or the
like that are more suitable for everything in programming, i mean that
are general purpose, and since for example Lockfree algorithms are not
general because they have there advantages and disadvantages etc. so
computer programming today is like returning back more to assembler, i
mean it is like returning back to much more "complexity", for example
you have to be "aware" of the "inside" of Lockfree algorithms to be able
to say that Lockfree algorithms are faster than Lock based algorithms
when there is more and more context switches between threads that uses
the Lockfree algorithms, and by understanding them you have to be
capable of applying them to reality more efficiently because they are
not like general purpose, So now you are understanding my main point,
this is why i wrote before that:
 
Here is the main very important point in computer programming:
 
I think the main point is that you have not to think to work with just
Java or with just Lockfree algorithms and not Lock based algorithms, now
you are able to see my point of view that Java or Lockfree algorithms
are not "general" purpose, so you have to start to enlarge your
conception of our world and be more diversified in computer programming
, this is what we call responsability today.
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 04 12:57AM -0400

Hello,
 
 
Here is the main very important point in computer programming:
 
I think the main point is that you have not to think to work with just
Java or with just Lockfree algorithms and not Lock based algorithms, now
you are able to see my point of view that Java or Lockfree algorithms
are not "general" purpose, so you have to start to enlarge your
conception of our world and be more diversified in computer programming
, this is what we call responsability today.
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 04 12:41AM -0400

Hello..
 
About Lockfree algorithms
 
I am more experienced now, and i will give my point of view on Lockfree
and algorithms:
 
Lockfree algorithms are bad because they are prone to starvation or to
much longer waiting time for a number of threads, they are faster than
Lock based algorithms when there is more context switches between
threads, but they are prone to starvation or to much longer waiting time
for a number of threads, and this is not good, so as you notice that
Lockfree and Lock based algorithms have there advantages and disadvantages.
 
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 03 11:27PM -0400

Hello,
 
Here is a very interesting paper:
 
Are Lock-Free Concurrent Algorithms Practically Wait-Free?
 
This paper suggests a simple solution to this problem. We show that, for
a large class of lock- free algorithms, under scheduling conditions
which approximate those found in commercial hardware architectures,
lock-free algorithms behave as if they are wait-free. In other words,
programmers can keep on designing simple lock-free algorithms instead of
complex wait-free ones, and in practice, they will get wait-free progress.
 
Read more here:
 
https://arxiv.org/abs/1311.3200
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 03 09:21PM -0400

Hello..
 
 
What about garbage collection?
 
Read what said Chris Lattner:
 
"One thing that I don't think is debatable is that the heap compaction
behavior of a GC (which is what provides the heap fragmentation win) is
incredibly hostile for cache (because it cycles the entire memory space
of the process) and performance predictability."
 
"Not relying on GC enables Swift to be used in domains that don't want
it - think boot loaders, kernels, real time systems like audio
processing, etc."
 
"GC also has several *huge* disadvantages that are usually glossed over:
while it is true that modern GC's can provide high performance, they can
only do that when they are granted *much* more memory than the process
is actually using. Generally, unless you give the GC 3-4x more memory
than is needed, you'll get thrashing and incredibly poor performance.
Additionally, since the sweep pass touches almost all RAM in the
process, they tend to be very power inefficient (leading to reduced
battery life)."
 
Read more here:
 
https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160208/009422.html
 
Here is Chris Lattner's Homepage:
 
http://nondot.org/sabre/
 
And here is Chris Lattner's resume:
 
http://nondot.org/sabre/Resume.html#Tesla
 
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 03 05:10PM -0400

Hello..
 
 
My Scalable reference counting with efficient support for weak
references was updated to version 1.12
 
You can download it from:
 
https://sites.google.com/site/aminer68/scalable-reference-counting-with-efficient-support-for-weak-references
 
 
 
Thank you,
Amine Moulay Ramdane.
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.programming.threads+unsubscribe@googlegroups.com.

No comments: