Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimiser Array.blit #2787

Closed
vicuna opened this Issue Jun 20, 2004 · 1 comment

Comments

Projects
None yet
1 participant
@vicuna
Copy link
Collaborator

vicuna commented Jun 20, 2004

Original bug ID: 2787
Reporter: administrator
Status: closed (set by @xavierleroy on 2011-12-21T10:38:33Z)
Resolution: fixed
Priority: normal
Severity: feature
Fixed in version: 3.13.0+dev
Category: ~DO NOT USE (was: OCaml general)
Related to: #4591
Monitored by: yminsky smimram nogin

Bug description

Hello,

La fonction Array.blit (et les autres fonctions du module) pourrait être
pas mal optimisée si elle était écrite en C:

  • éviter de tester s'il s'agit d'un tableau de float pour chaque cellule,
  • éviter l'appel à Modify pour chaque cellule et faire un appel à memmove
    dans le cas où l'on ne copie pas de la jeune generation vers la
    vieille.

Pour certaines applications qui manipulent beaucoup de tableaux, le gain
doit être sensible. (En l'occurence, la proposition sort d'une discussion
avec Gerd Stolpmann sur des problèmes de lexing Unicode avec buffering, où
l'on manipule des tableaux d'entiers, et l'on a observé que plein de temps
est passé dans Array.blit.)

-- Alain

@vicuna

This comment has been minimized.

Copy link
Collaborator Author

vicuna commented Dec 21, 2011

Comment author: @xavierleroy

Faster implementations of "Array.blit", "Array.copy", "Array.sub", "Array.append" and "Array.concat" now integrated in SVN trunk (commit 11913).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.