Thursday, May 3, 2018

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

Sky89 <Sky89@sky68.com>: May 02 10:16PM -0400

Hello..
 
 
I think i have found another problem about garbage collecting..
 
When you want to "force" garbage collecting in Java and C# and the like
to free "immediatly" the memory to optimize more the system, this will
be "expensive", it is like you will make the serial part of a parallel
program "bigger", because Java and C# are amortizing garbage collecting
by not running it "every" time to collect each object.. this is the big
problem of garbage collecting of Java and C# and the like, and now
i am becoming more smart.
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 02 09:49PM -0400

Hello..
 
 
I correct a typo, read again..
 
How do you have a "finer" control over garbage collecting in Java and C#
and the like ?
for example when you have some objects that contain "big" data and you
want to release them "immediatly" to free memory immediatly to optimize
more the system, this is not possible in Java and C# and the like and
this is not good.
 
And now you are understanding me more, this is why i have "invented"
my "Scalable" reference counting with efficient support for weak
references, and it works with Delphi and FreePascal and Lazarus, and i
will also port it to C++Builder, here it is and it is very powerful:
 
https://sites.google.com/site/aminer68/scalable-reference-counting-with-efficient-support-for-weak-references
 
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 02 10:05PM -0400

On 5/2/2018 9:49 PM, Sky89 wrote:
> want to release them "immediatly" to free memory immediatly to optimize
> more the system, this is not possible in Java and C# and the like and
> this is not good.
 
 
 
Sorry, i correct: I think it will work in C# but not in Java.
 
 
 
Sky89 <Sky89@sky68.com>: May 02 09:42PM -0400

Hello..
 
 
How do you have a "finer" control over garbage collecting in Java and C#
and the like ?
for example when you have some objects contains "big" data and you want
to release them "immediatly" to free memory immediatly to optimize more
the system, this is not possible in Java and C# and the like and this is
not good.
 
And now you are understanding me more, this is why i have "invented"
my "Scalable" reference counting with efficient support for weak
references, and it works with Delphi and FreePascal and Lazarus, and i
will also port it to C++Builder, here it is and it is very powerful:
 
https://sites.google.com/site/aminer68/scalable-reference-counting-with-efficient-support-for-weak-references
 
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 02 08:22PM -0400

Hello,
 
 
And now you are understanding me more, this is why i have "invented"
my "Scalable" reference counting with efficient support for weak
references, and it works with Delphi and FreePascal
and Lazarus, and i will also port it to C++Builder, here it is and
it is very powerful:
 
https://sites.google.com/site/aminer68/scalable-reference-counting-with-efficient-support-for-weak-references
 
 
This is why i wrote before that:
 
Xamarin uses a garbage collector this is why it has a big disadvantage:
 
https://www.xamarin.com/
 
Read again to understand better what i want to say:
 
I am a more experienced programmer now, and i can tell you this: if you
want to compare programming languages , that's not enough, you
have to be more smart, if you want to be able to
do Rapid Application Development and avoid the disadvantages
of garbage collectors, i will advice you to use Lazarus and/or
C++Builder and/or Delphi , they are now like the best on this ! this is
why i am using them, they are better than Visual C++ on RAD and they are
more capable programming languages that come with a sophisticated RAD
and IDE , for example Lazarus works on Windows and Mac OS X and Linux,
look for example at Lazarus here:
 
 
http://www.lazarus-ide.org/
 
 
And don't forget what i have said before about the disadvantages of GC
to understand better why C++Builder and Delphi and Lazarus are very useful:
 
"Perhaps the most significant problem is that programs that rely on
garbage collectors often exhibit poor locality (interacting badly with
cache and virtual memory systems), occupy more address space than the
program actually uses at any one time, and touch otherwise idle pages.
These may combine in a phenomenon called thrashing, in which a program
spends more time copying data between various grades of storage than
performing useful work. They may make it impossible for a programmer to
reason about the performance effects of design choices, making
performance tuning difficult. They can lead garbage-collecting programs
to interfere with other programs competing for resources"
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 02 08:00PM -0400

Hello,
 
 
Xamarin uses a garbage collector this is why it has a big disadvantage:
 
https://www.xamarin.com/
 
Read again to understand better what i want to say:
 
I am a more experienced programmer now, and i can tell you this: if you
want to compare programming languages , that's not enough, you
have to be more smart, if you want to be able to
do Rapid Application Development and avoid the disadvantages
of garbage collectors, i will advice you to use Lazarus and/or
C++Builder and/or Delphi , they are now like the best on this ! this is
why i am using them, they are better than Visual C++ on RAD and they are
more capable programming languages that come with a sophisticated RAD
and IDE , for example Lazarus works on Windows and Mac OS X and Linux,
look for example at Lazarus here:
 
 
http://www.lazarus-ide.org/
 
 
And don't forget what i have said before about the disadvantages of GC
to understand better why C++Builder and Delphi and Lazarus are very useful:
 
"Perhaps the most significant problem is that programs that rely on
garbage collectors often exhibit poor locality (interacting badly with
cache and virtual memory systems), occupy more address space than the
program actually uses at any one time, and touch otherwise idle pages.
These may combine in a phenomenon called thrashing, in which a program
spends more time copying data between various grades of storage than
performing useful work. They may make it impossible for a programmer to
reason about the performance effects of design choices, making
performance tuning difficult. They can lead garbage-collecting programs
to interfere with other programs competing for resources"
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 02 07:36PM -0400

Hello..
 
 
I am a more experienced programmer now, and i can tell you this: if you
want to compare programming languages , that's not enough, you
have to be more smart, if you want to be able to
do Rapid Application Development and avoid the disadvantages
of garbage collectors, i will advice you to use Lazarus and/or
C++Builder and/or Delphi , they are now like the best on this ! this is
why i am using them, they are better than Visual C++ on RAD and they are
more capable programming languages that come with a sophisticated RAD
and IDE , for example Lazarus works on Windows and Mac OS X and Linux,
look for example at Lazarus here:
 
 
http://www.lazarus-ide.org/
 
 
And don't forget what i have said before about the disadvantages of GC
to undertand better why C++Builder and Delphi and Lazarus are very useful:
 
"Perhaps the most significant problem is that programs that rely on
garbage collectors often exhibit poor locality (interacting badly with
cache and virtual memory systems), occupy more address space than the
program actually uses at any one time, and touch otherwise idle pages.
These may combine in a phenomenon called thrashing, in which a program
spends more time copying data between various grades of storage than
performing useful work. They may make it impossible for a programmer to
reason about the performance effects of design choices, making
performance tuning difficult. They can lead garbage-collecting programs
to interfere with other programs competing for resources"
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 02 06:25PM -0400

Hello,
 
 
As you know i am working with Delphi, i am also working with C++..
 
Delphi is still better for many things, and you have to get more
"technical" to understand it, this is why you have to look at this
following video about Delphi that is more technical:
 
Why are C# Developers choosing Delphi to create Mobile applications
 
https://www.youtube.com/watch?v=m8ToSr4zOVQ
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 02 05:35PM -0400

Hello,
 
About the disadvantages of GC:
 
"Perhaps the most significant problem is that programs that rely on
garbage collectors often exhibit poor locality (interacting badly with
cache and virtual memory systems), occupy more address space than the
program actually uses at any one time, and touch otherwise idle pages.
These may combine in a phenomenon called thrashing, in which a program
spends more time copying data between various grades of storage than
performing useful work. They may make it impossible for a programmer to
reason about the performance effects of design choices, making
performance tuning difficult. They can lead garbage-collecting programs
to interfere with other programs competing for resources"
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 02 02:04PM -0400

Hello,
 
 
More precision..
 
Again about Lockfree algorithms
 
I wrote in my previous post about Lockfree algorithms,
i think that Lockfree algorithms without an appropriate Backoff
algorithm and a Jitter are much slower than Lock based algorithms(read
my previous posts to understand it), so you have to add the following
Backoff+Jitter and Lockfree algorithms will become faster than Lock
based algorithms, read the following carefully:
 
https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/
 
 
So now i will finish soon my new FIFO queue that is node based and that
is "Waitfree" on the producer side and Lockfree on the consumer side,
it will use my new "scalable" reference counting and it will use
an efficient Backoff algorithm with an efficient Jitter to
be faster than Lock based algorithms.
 
And i will finish soon my new Lockfree LIFO stack that will use
an efficient Backoff algorithm with an efficient Jitter to be
faster than lock based algorithms.
 
They will be work with C++ and Delphi and FreePascal, so stay tuned !
 
 
Thank you,
Amine Moulay Ramdane.
Sky89 <Sky89@sky68.com>: May 02 01:24PM -0400

Hello..
 
 
Again about Lockfree algorithms
 
I wrote in my previous post about Lockfree algorithms,
i think that Lockfree algorithms without an appropriate Backoff
algorithm and a Jitter are not efficient, so you have to add the
following Backoff+Jitter and Lockfree algorithms will become more
efficient than Lock based algorithms, read the following carefully:
 
https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/
 
 
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: