Skip to content

Aor jet#690

Merged
pkova merged 14 commits intourbit:developfrom
dozreg-toplud:aor-jet
Sep 25, 2024
Merged

Aor jet#690
pkova merged 14 commits intourbit:developfrom
dozreg-toplud:aor-jet

Conversation

@dozreg-toplud
Copy link
Copy Markdown
Contributor

++aor jet. 10x speed up with this input:

(aor 'aaaaaaaaaaaaaaaa' 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')

@dozreg-toplud dozreg-toplud requested a review from a team as a code owner July 31, 2024 10:59
Comment thread pkg/noun/jets/c/aor.c Outdated
Comment thread pkg/noun/jets/c/aor.c Outdated
@dozreg-toplud dozreg-toplud requested a review from joemfb July 31, 2024 16:18
@dozreg-toplud
Copy link
Copy Markdown
Contributor Author

Please don't merge it just yet: I want to try adding little-endian optimization

joemfb
joemfb previously approved these changes Jul 31, 2024
Copy link
Copy Markdown
Collaborator

@joemfb joemfb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this will do

@dozreg-toplud
Copy link
Copy Markdown
Contributor Author

I included portable.h in the jet with an endianness check and an optimized version of the jet. It squizzes out ~17% of performance gains in the case of some ridiculous inputs ([a=(crip (reap 1.000.000 'a')) b=(crip ['a' (reap 1.000.000 'a')])])

Looks like the speed up comes from removing shl and and instructions, which I expected to be optimized away in the first version of the jet.

@dozreg-toplud dozreg-toplud requested a review from joemfb July 31, 2024 18:39
Copy link
Copy Markdown
Collaborator

@joemfb joemfb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Those #define's are vestigial, and this codebase is little-endian only. So you can just use your little-endian version and drop the other one.

Comment thread pkg/noun/jets/c/aor.c Outdated
@dozreg-toplud dozreg-toplud requested a review from joemfb August 5, 2024 17:35
Comment thread pkg/noun/jets/c/aor.c Outdated
Copy link
Copy Markdown
Collaborator

@joemfb joemfb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your naming conventions don't matching u3's suffix patterns. The name suffix should match the type of the variable, regardless of whether it's a pointer: c3_y -> foo_y, c3_w foo_w, &c.

@dozreg-toplud dozreg-toplud requested a review from joemfb August 5, 2024 17:58
@pkova pkova merged commit ded901f into urbit:develop Sep 25, 2024
@dozreg-toplud dozreg-toplud deleted the aor-jet branch September 25, 2024 15:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants