www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1999/05/30/07:00:20

Date: Sun, 30 May 1999 13:57:51 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: salvador AT inti DOT gov DOT ar
cc: djgpp-workers AT delorie DOT com
Subject: Re: memmove slow
In-Reply-To: <m10lvjs-000bQEC@ice.inti.gov.ar>
Message-ID: <Pine.SUN.3.91.990530135447.20904A-200000@is>
MIME-Version: 1.0
Reply-To: djgpp-workers AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime AT docserver DOT cac DOT washington DOT edu for more info.

--1915981794-1315069535-928061871=:20904
Content-Type: TEXT/PLAIN; charset=US-ASCII


On Mon, 24 May 1999 salvador AT inti DOT gov DOT ar wrote:

>   This was discussed months ago, perhaps even years. The memmove function is
> unnecesary slow.
>   The code provided here is twice faster in average at least in my system.

I checked it in, thanks.

Btw, a naive testing of the speed against the v2.02 version using
sizes from 1 to 330 shows only 15% gain (the test program I used is
attached, and will be part of djtst203.zip).  Did I do something
stupid?
--1915981794-1315069535-928061871=:20904
Content-Type: TEXT/PLAIN; name="memmove.c"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine DOT SUN DOT 3 DOT 91 DOT 990530135751 DOT 20904B AT is>
Content-Description: 

LyogVGVzdCBwcm9ncmFtIGZvciBtZW1tb3ZlIGZ1bmN0aW9uLiAgICAgICAg
ICAtKi0gY29kaW5nOiByYXctdGV4dCAtKi0gICovDQoNCiNpbmNsdWRlIDxz
dHJpbmcuaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0ZGxp
Yi5oPg0KI2luY2x1ZGUgPHRpbWUuaD4NCg0KLyogVGhpcyBtaWdodCBsb29r
IGZ1bm55IG9uIHNvbWUgdGVybWluYWxzIG9yIHdpdGggc29tZSBlZGl0b3Jz
Lg0KICAgV2hhdGV2ZXIgaXQgbG9va3MgbGlrZSwgRE9OJ1QgRURJVCBJVCEg
ICovDQpzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBzcmNidWZbXSA9DQoi
YDEyMzQ1Njc4OTAtPVxccXdlcnR5dWlvcFtdYXNkZmdoamtsOyd6eGN2Ym5t
LC4vIg0KIoCBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6Sl
pqeoqaqrrK2uryINCiJ+IUAjJCVeJiooKV8rfFFXRVJUWVVJT1B7fUFTREZH
SEpLTDpcIlpYQ1ZCTk08Pj8iDQoisLGys7S1tre4ubq7vL2+v8DBwsPExcbH
yMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7fIg0KIi8uLG1uYnZjeHonO2xramhn
ZmRzYV1bcG9pdXl0cmV3cVxcPS0wOTg3NjU0MzIxYCINCiLg4eLj5OXm5+jp
6uvs7e7v8PHy8/T19vf4+fr7/P3+jYyKiIeGhYSDgoGAkZCPjo0iDQoiPz48
TU5CVkNYWlwiOkxLSkhHRkRTQX17UE9JVVlUUkVXUXwrXykoKiZeJSQjQCF+
IjsNCg0Kc3RhdGljIGludA0KdGVzdCAodW5zaWduZWQgY2hhciAqYnVmLCBp
bnQgYnVmbGVuLCBpbnQgb2Zmc2V0KQ0Kew0KICB1bnNpZ25lZCBiZWZvcmUg
PSAqKHVuc2lnbmVkICopKGJ1ZiArIG9mZnNldCAtIDQpOw0KICB1bnNpZ25l
ZCBhZnRlciAgPSAqKHVuc2lnbmVkICopKGJ1ZiArIGJ1ZmxlbiArIG9mZnNl
dCk7DQogIGludCBmYWlsZWQgPSAwOw0KDQogIG1lbW1vdmUgKGJ1ZiArIG9m
ZnNldCwgYnVmLCBidWZsZW4pOw0KICBpZiAobWVtY21wIChidWYgKyBvZmZz
ZXQsIHNyY2J1ZiwgYnVmbGVuKSkNCiAgICB7DQogICAgICBwcmludGYgKCJU
ZXN0ICVkLCAlZCBmYWlsZWQ6IGNvcnJ1cHRlZCBjb3B5LlxuIiwgYnVmbGVu
LCBvZmZzZXQpOw0KICAgICAgZmFpbGVkKys7DQogICAgfQ0KICBpZiAoYmVm
b3JlICE9ICoodW5zaWduZWQgKikoYnVmICsgb2Zmc2V0IC0gNCkpDQogICAg
ew0KICAgICAgcHJpbnRmICgiVGVzdCAlZCwgJWQgZmFpbGVkOiBjb3JydXB0
ZWQgQkVGT1JFLlxuIiwgYnVmbGVuLCBvZmZzZXQpOw0KICAgICAgZmFpbGVk
Kys7DQogICAgfQ0KICBpZiAoYWZ0ZXIgICE9ICoodW5zaWduZWQgKikoYnVm
ICsgYnVmbGVuICsgb2Zmc2V0KSkNCiAgICB7DQogICAgICBwcmludGYgKCJU
ZXN0ICVkLCAlZCBmYWlsZWQ6IGNvcnJ1cHRlZCBBRlRFUi5cbiIsIGJ1Zmxl
biwgb2Zmc2V0KTsNCiAgICAgIGZhaWxlZCsrOw0KICAgIH0NCiAgcmV0dXJu
IGZhaWxlZDsNCn0NCg0Kc3RhdGljIGludA0KZW1wdHkgKHZvaWQgKmQsIHZv
aWQgKnMsIHNpemVfdCBsZW4pDQp7DQogIHJldHVybiBsZW47DQp9DQoNCmlu
dCBtYWluICh2b2lkKQ0Kew0KICBjb25zdCBpbnQgbm1heCA9IHNpemVvZiAo
c3JjYnVmKTsNCiAgdW5zaWduZWQgY2hhciAqdGVzdGJ1ZiA9ICh1bnNpZ25l
ZCBjaGFyICopIG1hbGxvYyAoMyAqIG5tYXggKyA4KTsNCiAgaW50IG9mZiwg
bGVuLCByZXN1bHQgPSAwOw0KICB1Y2xvY2tfdCB0MSwgdDIsIHQzLCB0NDsN
Cg0KICBpZiAoIXRlc3RidWYpDQogICAgew0KICAgICAgcHJpbnRmICgiR2V0
IG1vcmUgbWVtb3J5IGFuZCB0aGVuIGNvbWUgYmFjayBhZ2Fpbi5cbiIpOw0K
ICAgICAgcmV0dXJuIDE7DQogICAgfQ0KDQogIG1lbXNldCAodGVzdGJ1Ziwg
MCwgMyAqIG5tYXggKyA4KTsNCiAgbWVtY3B5ICh0ZXN0YnVmICsgbm1heCAr
IDQsIHNyY2J1Ziwgbm1heCk7DQoNCiAgdDEgPSB1Y2xvY2sgKCk7DQogIGZv
ciAob2ZmID0gLW5tYXg7IG9mZiA8PSBubWF4OyBvZmYrKykNCiAgICBmb3Ig
KGxlbiA9IDE7IGxlbiA8PSBubWF4OyBsZW4rKykNCiAgICAgIHsNCgltZW1t
b3ZlICh0ZXN0YnVmICsgbm1heCArIDQgKyBvZmYsIHRlc3RidWYgKyBubWF4
ICsgNCwgbGVuKTsNCiAgICAgIH0NCg0KICB0MiA9IHVjbG9jayAoKTsNCg0K
ICB0MyA9IHVjbG9jayAoKTsNCiAgZm9yIChvZmYgPSAtbm1heDsgb2ZmIDw9
IG5tYXg7IG9mZisrKQ0KICAgIGZvciAobGVuID0gMTsgbGVuIDw9IG5tYXg7
IGxlbisrKQ0KICAgICAgew0KCWVtcHR5ICh0ZXN0YnVmICsgbm1heCArIDQg
KyBvZmYsIHRlc3RidWYgKyBubWF4ICsgNCwgbGVuKTsNCiAgICAgIH0NCg0K
ICB0NCA9IHVjbG9jayAoKTsNCg0KICBwcmludGYgKCJTcGVlZCB0ZXN0IHRv
b2sgJUxkIHVjbG9ja3MuXG4iLCB0MiAtIHQxIC0gKHQ0IC0gdDMpKTsNCg0K
ICBmb3IgKG9mZiA9IC1ubWF4OyBvZmYgPD0gbm1heDsgb2ZmKyspDQogICAg
Zm9yIChsZW4gPSAxOyBsZW4gPD0gbm1heDsgbGVuKyspDQogICAgICB7DQoJ
bWVtc2V0ICh0ZXN0YnVmLCAwLCAzICogbm1heCArIDgpOw0KCW1lbWNweSAo
dGVzdGJ1ZiArIG5tYXggKyA0LCBzcmNidWYsIG5tYXgpOw0KCXJlc3VsdCAr
PSB0ZXN0ICh0ZXN0YnVmICsgbm1heCArIDQsIGxlbiwgb2ZmKTsNCiAgICAg
IH0NCg0KICBpZiAocmVzdWx0KQ0KICAgIHByaW50ZiAoIiVkIHRlc3RzIGZh
aWxlZC5cbiIsIHJlc3VsdCk7DQogIGVsc2UNCiAgICBwcmludGYgKCJBbGwg
dGVzdHMgcGFzc2VkLlxuIik7DQoNCiAgcmV0dXJuIHJlc3VsdDsNCn0NCg==
--1915981794-1315069535-928061871=:20904--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019