Re: Mercurial considerations on the field

2021-04-28 Thread Joerg Sonnenberger
On Wed, Apr 28, 2021 at 08:30:00PM +0200, Riccardo Mottola wrote:
> I was skeptical, and... I had reason to apparently. I tried on a dual-core
> intel laptop with 3GB of RAM. Something fairly decent.

I wouldn't call 3GB RAM decent nowadays, but it should certainly be
enough.

> 
> At first I tried over WiFi it interrupted after one hour or so, no error
> message, no nothing and "nothing" was saved
> Then I tried again, still WiFI, after 2 hours or so... it just looked stuck:
> no disk activity, no network, no CPU usage for quite some time ! I hit
> "ctrl-c" and it catched the signal, rolled back cleanly.

I'm highly doubtful that it just interrupted without any error message.
Sorry, but no, it doesn't do that. What version are we talking about?
With evolve or without?

> While working I noticed a quite high memory usage, in the order of 400MB or
> more, something that would be unbearable

Peak RSS for a full clone+checkout should be around 600MB. git isn't
really better unless you force it to ignore all history with all the
associated downsides.

Joerg


Mercurial considerations on the field

2021-04-28 Thread Riccardo Mottola

Hi!

Since I had to compile a custom kernel from current sources to do some 
debugging, I thought of checking out the hg repository mirror. I read in 
the past time on the ailing list a lot of heated discussion.
I was skeptical, and... I had reason to apparently. I tried on a 
dual-core intel laptop with 3GB of RAM. Something fairly decent.


At first I tried over WiFi it interrupted after one hour or so, no 
error message, no nothing and "nothing" was saved
Then I tried again, still WiFI, after 2 hours or so... it just looked 
stuck: no disk activity, no network, no CPU usage for quite some time ! 
I hit "ctrl-c" and it catched the signal, rolled back cleanly.


While working I noticed a quite high memory usage, in the order of 400MB 
or more, something that would be unbearable


Wireless coverage is very good, being in the same room of the AP.

Then I retried, but over wired ethernet. Now, after some hours, it 
finally finished without hiccups



I think Python is not up to the job. Sensible to network quality, low 
performance, high memory usage. I think the tool to work on the base 
system should be obtainable with the base system - so it should be 
written in C or C++ with minimal dependencies.


Of course this could be mitigated by having a "CVS mirror" or "SVN 
mirror" so that one could user other tools to check it out. I do that 
for example on certain systems, I check out from github using SVN.



This is just an experience of using it for a checkout, I do not enter 
the merit if it has better commands than git, svn or cvs.
I'm a git hater as far as its commands do, how it handles conflicts and 
the dependencies it has when installing it. But I must admit it that 
regarding check-out stability, network and CPU usage it works quite well.
SVN (especially over its protocol, not https) and CVS rule too: slow but 
steady they get the result. Also, it is usuall easy to recover with just 
another "svn update" or "cvs update".


If mercurial is really a good system (and apparently it should be better 
than git) it shold have equivalent git performances: so written in 
C/C++, not funky interpreters, not funky languages like Rust, Go...


Until then, let's trust CVS... it maybe slow, clunky.. but it breaks as 
we know.


CVS is like a wood-powered steam locomotive
SVN is like a classic diesel powered locomotive.
GIT is a high-powered pertol car, but they split the steering wheel 
in two.You have two clutch pedals to shift gears and if you break before 
pulling the clutch the motor explodes :)

HG is perhaps a good concept sports car, but it is built of plywood.

So you always get CVS and SVN working, git is blazing fast if you need 
just to spint 1/4 mile and don't steer or change anything .




Riccardo